diff --git a/.github/workflows/test-site.yaml b/.github/workflows/test-site.yaml new file mode 100644 index 00000000..a7c57976 --- /dev/null +++ b/.github/workflows/test-site.yaml @@ -0,0 +1,85 @@ +name: Test site + +on: + pull_request: + +defaults: + run: + working-directory: site + +jobs: + test-build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Bun + uses: oven-sh/setup-bun@v2 + + - name: Install packages + run: bun install + + - name: SSH debug + if: runner.debug == '1' + uses: mxschmitt/action-tmate@v3 + + - name: Run test + run: bun run build + + test-types: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Bun + uses: oven-sh/setup-bun@v2 + + - name: Install packages + run: bun install + + - name: SSH debug + if: runner.debug == '1' + uses: mxschmitt/action-tmate@v3 + + - name: Run test + run: bun run test:types + + test-lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Bun + uses: oven-sh/setup-bun@v2 + + - name: Install packages + run: bun install + + - name: SSH debug + if: runner.debug == '1' + uses: mxschmitt/action-tmate@v3 + + - name: Run test + run: bun run test:lint + + test-format: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v6 + + - name: Set up Bun + uses: oven-sh/setup-bun@v2 + + - name: Install packages + run: bun install + + - name: SSH debug + if: runner.debug == '1' + uses: mxschmitt/action-tmate@v3 + + - name: Run test + run: bun run test:format diff --git a/CITATION.cff b/CITATION.cff index 65417b14..d941478a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,6 +1,6 @@ title: STRchive -version: 2.23.0 -date-released: "2026-06-15" +version: 2.24.0 +date-released: "2026-25-15" url: https://github.com/dashnowlab/STRchive authors: - family-names: Dashnow diff --git a/data/STRchive-citations.json b/data/STRchive-citations.json index c84ab808..64e04bfd 100644 --- a/data/STRchive-citations.json +++ b/data/STRchive-citations.json @@ -164097,6 +164097,1610 @@ "language": "en", "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:27639545" }, +{ + "id": "pmid:19439424", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/19439424", + "title": "Targeted loss of Arx results in a developmental epilepsy mouse model and recapitulates the human phenotype in heterozygous females.", + "type": "article-journal", + "doi": "10.1093/brain/awp107", + "authors": [ + ["Eric", "Marsh"], + ["Carl", "Fulp"], + ["Ernest", "Gomez"], + ["Ilya", "Nasrallah"], + ["Jeremy", "Minarcik"], + ["Jyotsna", "Sudi"], + ["Susan L", "Christian"], + ["Grazia", "Mancini"], + ["Patricia", "Labosky"], + ["William", "Dobyns"], + ["Amy", "Brooks-Kayal"], + ["Jeffrey A", "Golden"] + ], + "publisher": "Brain : a journal of neurology", + "issn": "1460-2156", + "date": "2009-05-12", + "abstract": "Mutations in the X-linked aristaless-related homeobox gene (ARX) have been linked to structural brain anomalies as well as multiple neurocognitive deficits. The generation of Arx-deficient mice revealed several morphological anomalies, resembling those observed in patients and an interneuron migration defect but perinatal lethality precluded analyses of later phenotypes. Interestingly, many of the neurological phenotypes observed in patients with various ARX mutations can be attributed, in part, to interneuron dysfunction. To directly test this possibility, mice carrying a floxed Arx allele were generated and crossed to Dlx5/6(CRE-IRES-GFP)(Dlx5/6(CIG)) mice, conditionally deleting Arx from ganglionic eminence derived neurons including cortical interneurons. We now report that Arx(-/y);Dlx5/6(CIG) (male) mice exhibit a variety of seizure types beginning in early-life, including seizures that behaviourally and electroencephalographically resembles infantile spasms, and show evolution through development. Thus, this represents a new genetic model of a malignant form of paediatric epilepsy, with some characteristics resembling infantile spasms, caused by mutations in a known infantile spasms gene. Unexpectedly, approximately half of the female mice carrying a single mutant Arx allele (Arx(-/+);Dlx5/6(CIG)) also developed seizures. We also found that a subset of human female carriers have seizures and neurocognitive deficits. In summary, we have identified a previously unrecognized patient population with neurological deficits attributed to ARX mutations that are recapitulated in our mouse model. Furthermore, we show that perturbation of interneuron subpopulations is an important mechanism underling the pathogenesis of developmental epilepsy in both hemizygous males and carrier females. Given the frequency of ARX mutations in patients with infantile spasms and related disorders, our data unveil a new model for further understanding the pathogenesis of these disorders.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:19439424" +}, +{ + "id": "pmid:7778850", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/7778850", + "title": "Dentatorubral-pallidoluysian atrophy: clinical features are closely related to unstable expansions of trinucleotide (CAG) repeat.", + "type": "article-journal", + "doi": "10.1002/ana.410370610", + "authors": [ + ["T", "Ikeuchi"], + ["R", "Koide"], + ["H", "Tanaka"], + ["O", "Onodera"], + ["S", "Igarashi"], + ["H", "Takahashi"], + ["R", "Kondo"], + ["A", "Ishikawa"], + ["A", "Tomoda"], + ["T", "Miike"] + ], + "publisher": "Annals of neurology", + "issn": "0364-5134", + "date": "1995-06-01", + "abstract": "Dentatorubral-pallidoluysian atrophy is an autosomal dominant neurodegenerative disease characterized by various combinations of ataxia, choreoathetosis, myoclonus, epilepsy, and dementia as well as a wide range of ages at onset. A specific unstable trinucleotide repeat expansion in a gene on the short arm of chromosome 12 was recently identified as the pathogenic mutation for this disease. We investigated how the degree of expansion of the CAG repeat effects the clinical manifestations of dentatorubral-pallidoluysian atrophy. The size of the expanded alleles was well correlated with the age at onset (r = -0.696, p < 0.001). Patients with the progressive myoclonus epilepsy phenotype had larger expansions (62-79 repeats) and an earlier age at onset (onset before age 21). Furthermore, most of the patients with the progressive myoclonus epilepsy phenotype inherited their expanded alleles from their affected fathers. On the other hand, patients with the non-progressive myoclonus epilepsy phenotype showed smaller expansions (54-67 repeats) and a later age at onset (onset at or after age 21). Detailed analyses of clinical features demonstrated that ataxia, involuntary movement of either myoclonus or choreoathetosis, and intellectual decline are cardinal features of dentatorubral-pallidoluysian atrophy, with myoclonus and epilepsy being observed more frequently in patients with an earlier age at onset. Thus the wide variation in clinical manifestations of dentatorubral-pallidoluysian atrophy can now be clearly explained based on the degree of CAG repeat expansion, which strongly indicates that the expanded alleles are intimately involved in the neuronal degeneration in dentatofugal and pallidofugal systems.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:7778850" +}, +{ + "id": "pmid:30933216", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/30933216", + "title": "Prevalence of Carriers of Intermediate and Pathological Polyglutamine Disease-Associated Alleles Among Large Population-Based Cohorts.", + "type": "article-journal", + "doi": "10.1001/jamaneurol.2019.0423", + "authors": [ + ["Sarah L", "Gardiner"], + ["Merel W", "Boogaard"], + ["Stella", "Trompet"], + ["Ren\u00e9e", "de Mutsert"], + ["Frits R", "Rosendaal"], + ["Jacobijn", "Gussekloo"], + ["J Wouter", "Jukema"], + ["Raymund A C", "Roos"], + ["N Ahmad", "Aziz"] + ], + "publisher": "JAMA neurology", + "issn": "2168-6157", + "date": "2019-06-01", + "abstract": "Nine hereditary neurodegenerative diseases are known as polyglutamine diseases, including Huntington disease, 6 spinocerebellar ataxias (SCAs) (SCA1, SCA2, SCA3, SCA6, SCA7, and SCA17), dentatorubral-pallidoluysion atrophy, and spinal bulbar muscular atrophy.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:30933216" +}, +{ + "id": "pmid:39096063", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/39096063", + "title": "Multimodal, Longitudinal Profiling of SCA1 Identifies Predictors of Disease Severity and Progression.", + "type": "article-journal", + "doi": "10.1002/ana.27032", + "authors": [ + ["Teije H", "van Prooije"], + ["Kirsten C J", "Kapteijns"], + ["Jack J A", "van Asten"], + ["Joanna", "IntHout"], + ["Marcel M", "Verbeek"], + ["Tom W J", "Scheenen"], + ["Bart P", "van de Warrenburg"] + ], + "publisher": "Annals of neurology", + "issn": "1531-8249", + "date": "2024-08-03", + "abstract": "Spinocerebellar ataxia type 1 (SCA1) is a rare autosomal dominant neurodegenerative disease. Objective surrogate markers sensitive to detect changes in disease severity are needed to reduce sample sizes in interventional trials and identification of predictors of faster disease progression would facilitate patient selection, enrichment, or stratification in such trials.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:39096063" +}, +{ + "id": "pmid:20502998", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/20502998", + "title": "Neuropsychological features of patients with spinocerebellar ataxia (SCA) types 1, 2, 3, and 6.", + "type": "article-journal", + "doi": "10.1007/s12311-010-0183-8", + "authors": [ + ["Ina", "Klinke"], + ["Martina", "Minnerop"], + ["Tanja", "Schmitz-H\u00fcbsch"], + ["Marc", "Hendriks"], + ["Thomas", "Klockgether"], + ["Ullrich", "W\u00fcllner"], + ["Christoph", "Helmstaedter"] + ], + "publisher": "Cerebellum (London, England)", + "issn": "1473-4230", + "date": "2010-09-01", + "abstract": "A subtype-specific impairment of cognitive functions in spinocerebellar ataxia (SCA) patients is still debated. Thirty-two SCA patients (SCA1, 6; SC2, 3; SCA3, 15; SCA6, 8) and 14 matched healthy controls underwent neuropsychological evaluation testing attention, executive functions, episodic and semantic memory, and motor coordination. Severity of ataxia was assessed with the Scale for the Assessment and Rating of Ataxia (SARA), nonataxia symptoms with the Inventory of Non-Ataxia Symptoms. Depressive symptoms were evaluated with the Beck Depression Inventory. The SARA scores of our SCA patients (range 1-19.5) indicated an overall moderate ataxia, most pronounced in SCA6 and SCA1. Mean number of nonataxia symptoms (range 0-2.2) were most distinct in SCA1 and nearly absent in SCA6. SCA1 performed poorer than controls in 33% of all cognitive test parameters, followed by SCA2, SCA3, and SCA6 patients (17%). SCA 1-3 patients presented mainly attentional and executive dysfunctions while semantic and episodic memory functions were preserved. Attentional and executive functions were partly correlated with ataxia severity and fine motor coordination. All patients exhibited mildly depressed mood. Motor and dominant hand functions were more predictive for depressed mood than cognitive measures or overall ataxia. Besides motor impairments in all patients, SCA patients with extracerebellar pathology (SCA 1-3) were characterized by poor frontal attentional and executive dysfunction while mild cognitive impairments in predominantly cerebellar SCA6 patients appeared to reflect mainly cerebellar dysfunction. Regarding the everyday relevance of symptoms, (dominant) motor hand functioning emerged as a marker for the patient's mood.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:20502998" +}, +{ + "id": "pmid:19028133", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/19028133", + "title": "Quantitative evaluation of balance in patients with spinocerebellar ataxia type 1: a case control study.", + "type": "article-journal", + "doi": "10.1016/j.parkreldis.2008.10.003", + "authors": [ + ["Ganesan", "Mohan"], + ["Pramod Kumar", "Pal"], + ["Kumar R", "Sendhil"], + ["Kandavel", "Thennarasu"], + ["B R", "Usha"] + ], + "publisher": "Parkinsonism & related disorders", + "issn": "1873-5126", + "date": "2008-11-22", + "abstract": "Quantitative assessment of balance in spinocerebellar ataxia type 1 (SCA1).", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:19028133" +}, +{ + "id": "pmid:8619527", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/8619527", + "title": "Spinocerebellar ataxia 3 and Machado-Joseph disease: clinical, molecular, and neuropathological features.", + "type": "article-journal", + "doi": "10.1002/ana.410390411", + "authors": [ + ["A", "D\u00fcrr"], + ["G", "Stevanin"], + ["G", "Cancel"], + ["C", "Duyckaerts"], + ["N", "Abbas"], + ["O", "Didierjean"], + ["H", "Chneiweiss"], + ["A", "Benomar"], + ["O", "Lyon-Caen"], + ["J", "Julien"], + ["M", "Serdaru"], + ["C", "Penet"], + ["Y", "Agid"], + ["A", "Brice"] + ], + "publisher": "Annals of neurology", + "issn": "0364-5134", + "date": "1996-04-01", + "abstract": "Patients with spinocerebellar ataxia 3 (SCA3) and Machado-Joseph disease (MJD) carry an expanded CAG repeat in the MJD1 gene. One hundred twenty families of different geographic origin with autosomal dominant cerebellar ataxia (ADCA) type I were tested. Thirty-four families (126 patients) carried an expanded CAG repeat. The expanded and the normal allele did not overlap and the repeat was unstable during transmission, with variation in the size of the CAG length ranging from -8 to +5 and a mean expansion of 0.86 repeats without differences according to the parental sex. There was a combined effect of the number of CAG repeats of the expanded and normal allele on the age at onset, which accounted for 70% of its variability. The length of the CAG repeat influenced the frequency of clinical signs associated with cerebellar ataxia, such as abnormal tendon reflexes or decreased vibration sense, whereas the interindividual variation of supranuclear ophthalmoplegia, sphincter and swallowing difficulties, and amyotrophy was mostly determined by different disease durations. We compared the clinical profile of 91 SCA3/MJD patients with 51 SCA1 and 32 SCA2 patients. There were striking differences between the SCA3/MJD and SCA2 but not with SCA1 groups of patients. Despite their clinical similarities, distinct neuropathological features were observed in 2 SCA3/MJD and 2 SCA1 patients.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:8619527" +}, +{ + "id": "pmid:9040742", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/9040742", + "title": "Machado-Joseph disease in four Chinese pedigrees: molecular analysis of 15 patients including two juvenile cases and clinical correlations.", + "type": "article-journal", + "doi": "10.1212/wnl.48.2.482", + "authors": [ + ["Y X", "Zhou"], + ["Y", "Takiyama"], + ["S", "Igarashi"], + ["Y F", "Li"], + ["B Y", "Zhou"], + ["D C", "Gui"], + ["K", "Endo"], + ["H", "Tanaka"], + ["Z H", "Chen"], + ["L S", "Zhou"], + ["M Z", "Fan"], + ["B X", "Yang"], + ["J", "Weissenbach"], + ["G X", "Wang"], + ["S", "Tsuji"] + ], + "publisher": "Neurology", + "issn": "0028-3878", + "date": "1997-02-01", + "abstract": "Machado-Joseph disease (MJD) is an autosomal dominant neurodegenerative disorder associated with the expansion of a (CAG)n array in the MJD1 gene. We analyzed the sizes of the (CAG)n array using DNA samples from 61 members of four Chinese MJD families and 18 Chinese normal control subjects and confirmed that the (CAG)n array in 15 MJD chromosomes was expanded to 72-86 repeat units. There were no subjects with (CAG)n array sizes intermediate between those of normal and MJD affected groups. Meanwhile, we found a significant negative correlation between the age of onset of symptoms and (CAG)n array size. The largest (CAG)n array of 86 repeat units was in the youngest patient, whose age of onset was 5 years. The intergenerational increase in number of CAG repeat units was associated with the clinical phenomenon of anticipation.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:9040742" +}, +{ + "id": "pmid:22133674", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/22133674", + "title": "Toward understanding Machado-Joseph disease.", + "type": "article-journal", + "doi": "10.1016/j.pneurobio.2011.11.006", + "authors": [ + ["Maria do Carmo", "Costa"], + ["Henry L", "Paulson"] + ], + "publisher": "Progress in neurobiology", + "issn": "1873-5118", + "date": "2011-11-23", + "abstract": "Machado-Joseph disease (MJD), also known as spinocerebellar ataxia type 3 (SCA3), is the most common inherited spinocerebellar ataxia and one of many polyglutamine neurodegenerative diseases. In MJD, a CAG repeat expansion encodes an abnormally long polyglutamine (polyQ) tract in the disease protein, ATXN3. Here we review MJD, focusing primarily on the function and dysfunction of ATXN3 and on advances toward potential therapies. ATXN3 is a deubiquitinating enzyme (DUB) whose highly specialized properties suggest that it participates in ubiquitin-dependent proteostasis. By virtue of its interactions with VCP, various ubiquitin ligases and other ubiquitin-linked proteins, ATXN3 may help regulate the stability or activity of many proteins in diverse cellular pathways implicated in proteotoxic stress response, aging, and cell differentiation. Expansion of the polyQ tract in ATXN3 is thought to promote an altered conformation in the protein, leading to changes in interactions with native partners and to the formation of insoluble aggregates. The development of a wide range of cellular and animal models of MJD has been crucial to the emerging understanding of ATXN3 dysfunction upon polyQ expansion. Despite many advances, however, the principal molecular mechanisms by which mutant ATXN3 elicits neurotoxicity remain elusive. In a chronic degenerative disease like MJD, it is conceivable that mutant ATXN3 triggers multiple, interconnected pathogenic cascades that precipitate cellular dysfunction and eventual cell death. A better understanding of these complex molecular mechanisms will be important as scientists and clinicians begin to focus on developing effective therapies for this incurable, fatal disorder.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:22133674" +}, +{ + "id": "pmid:19811945", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/19811945", + "title": "Caring for Machado-Joseph disease: current understanding and how to help patients.", + "type": "article-journal", + "doi": "10.1016/j.parkreldis.2009.08.012", + "authors": [ + ["Anelyssa", "D'Abreu"], + ["Marcondes C", "Fran\u00e7a"], + ["Henry L", "Paulson"], + ["Iscia", "Lopes-Cendes"] + ], + "publisher": "Parkinsonism & related disorders", + "issn": "1873-5126", + "date": "2009-10-06", + "abstract": "Machado-Joseph disease or spinocerebellar ataxia 3 (MJD/SCA3) is a clinically heterogeneous, neurodegenerative disorder characterized by varying degrees of ataxia, ophthalmoplegia, peripheral neuropathy, pyramidal dysfunction and movement disorder. MJD/SCA3 is caused by a CAG repeat expansion mutation in the protein coding region of the ATXN3 gene located at chromosome 14q32.1. Current hypotheses regarding pathogenesis favor the view that mutated ataxin-3, with its polyglutamine expansion, is prone to adopt an abnormal conformation, engage in altered protein-protein interactions and aggregate. Expanded CAG repeat length correlates with the range and severity of the clinical manifestations and inversely correlates with age of disease onset. Though MJD/SCA3 is classically described as affecting the cerebellum, brainstem and basal ganglia, recent neuropathology and neuroimaging series demonstrate involvement of other areas such as the thalamus and cerebral cortex. Clinically, much emphasis has been placed in the description and recognition of the non-motor symptoms observed in these patients, such as pain, cramps, fatigue and depression. Currently, no disease modifying treatment exists for MJD/SCA3. Standard of care includes genetic counseling, exercise/physical therapy programs, and speech and swallow evaluation. Symptomatic treatment for clinical findings such as depression, sleep disorders, parkinsonism, dystonia, cramps, and pain is important to improve the quality of life for those with MJD/SCA3.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:19811945" +}, +{ + "id": "pmid:17953484", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/17953484", + "title": "Genome-wide screen for modifiers of ataxin-3 neurodegeneration in Drosophila.", + "type": "article-journal", + "doi": "10.1371/journal.pgen.0030177", + "authors": [ + ["Julide", "Bilen"], + ["Nancy M", "Bonini"] + ], + "publisher": "PLoS genetics", + "issn": "1553-7404", + "date": "2007-10-01", + "abstract": "Spinocerebellar ataxia type-3 (SCA3) is among the most common dominantly inherited ataxias, and is one of nine devastating human neurodegenerative diseases caused by the expansion of a CAG repeat encoding glutamine within the gene. The polyglutamine domain confers toxicity on the protein Ataxin-3 leading to neuronal dysfunction and loss. Although modifiers of polyglutamine toxicity have been identified, little is known concerning how the modifiers function mechanistically to affect toxicity. To reveal insight into spinocerebellar ataxia type-3, we performed a genetic screen in Drosophila with pathogenic Ataxin-3-induced neurodegeneration and identified 25 modifiers defining 18 genes. Despite a variety of predicted molecular activities, biological analysis indicated that the modifiers affected protein misfolding. Detailed mechanistic studies revealed that some modifiers affected protein accumulation in a manner dependent on the proteasome, whereas others affected autophagy. Select modifiers of Ataxin-3 also affected tau, revealing common pathways between degeneration due to distinct human neurotoxic proteins. These findings provide new insight into molecular pathways of polyQ toxicity, defining novel targets for promoting neuronal survival in human neurodegenerative disease.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:17953484" +}, +{ + "id": "pmid:7887422", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/7887422", + "title": "Clinical and molecular characterization of patients with distal 11q deletions.", + "type": "article-journal", + "doi": "", + "authors": [ + ["L A", "Penny"], + ["M", "Dell'Aquila"], + ["M C", "Jones"], + ["J", "Bergoffen"], + ["C", "Cunniff"], + ["J P", "Fryns"], + ["E", "Grace"], + ["J M", "Graham"], + ["B", "Kousseff"], + ["T", "Mattina"] + ], + "publisher": "American journal of human genetics", + "issn": "0002-9297", + "date": "1995-03-01", + "abstract": "Jacobsen syndrome is caused by segmental aneusomy for the distal end of the long arm of chromosome 11. Typical features include mild to moderate psychomotor retardation, trigonocephaly, facial dysmorphism, cardiac defects, and thrombocytopenia, though none of these features are invariably present. To define the critical regions responsible for these abnormalities, we studied 17 individuals with de novo terminal deletions of 11q. The patients were characterized in a loss-of-heterozygosity analysis using polymorphic dinucleotide repeats. The breakpoints in the complete two-generation families were localized with an average resolution of 3.9 cM. Eight patients with the largest deletions extending from 11q23.3 to 11qter have breakpoints, between D11S924 and D11S1341. This cytogenetic region accounts for the majority of 11q- patients and may be related to the FRA11B fragile site in 11q23.3. One patient with a small terminal deletion distal to D11S1351 had facial dysmorphism, cardiac defects, and thrombocytopenia, suggesting that the genes responsible for these features may lie distal to D11S1351. Twelve of 15 patients with deletion breakpoints as far distal as D11S1345 had trigonocephaly, while patients with deletions distal to D11S912 did not, suggesting that, if hemizygosity for a single gene is responsible for this dysmorphic feature, the gene may lie distal to D11S1345 and proximal to D11S912.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:7887422" +}, +{ + "id": "pmid:30488659", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/30488659", + "title": "A de novo pathogenic CSNK1E mutation identified by exome sequencing in family trios with epileptic encephalopathy.", + "type": "article-journal", + "doi": "10.1002/humu.23690", + "authors": [ + ["Xiaomin", "Chen"], + ["Jing", "Jin"], + ["Qiongdan", "Wang"], + ["Huangqi", "Xue"], + ["Na", "Zhang"], + ["Yaoqiang", "Du"], + ["Tao", "Zhang"], + ["Bing", "Zhang"], + ["Jinyu", "Wu"], + ["Zhenwei", "Liu"] + ], + "publisher": "Human mutation", + "issn": "1098-1004", + "date": "2018-12-08", + "abstract": "Recent whole-exome sequencing (WES) studies have demonstrated the contribution of de novo mutations (DNMs) to epileptic encephalopathies (EEs). Here, we performed WES on four trios with West syndrome and identified three loss-of-function DNMs in both CSNK1E (c.885+1G>A) and STXBP1 (splicing, c.1111-2A>G; nonsense, p.(Y519X)). The splicing mutation in CSNK1E creates insertion of 116 new amino acids at position 246 followed by a premature stop codon. Both CSNK1E and STXBP1 showed a closer coexpression relationship with epilepsy candidate genes beyond that expected by chance. In addition, genes coexpressed with CSNK1E were enriched in early prenatal stages across multiple brain regions. We also found that 60 CSNK1E-interacting genes share an association with multiple neuropsychiatric disorders, and these genes formed a significant interconnected interaction network with roles in the midbrain development. Our study supported the potential role of CSNK1E variants in EE susceptibility and expanded the phenotypic spectrum associated with CSNK1E variation.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:30488659" +}, +{ + "id": "pmid:32937144", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/32937144", + "title": "A Survey of Rare Epigenetic Variation in 23,116 Human Genomes Identifies Disease-Relevant Epivariations and CGG Expansions.", + "type": "article-journal", + "doi": "10.1016/j.ajhg.2020.08.019", + "authors": [ + ["Paras", "Garg"], + ["Bharati", "Jadhav"], + ["Oscar L", "Rodriguez"], + ["Nihir", "Patel"], + ["Alejandro", "Martin-Trujillo"], + ["Miten", "Jain"], + ["Sofie", "Metsu"], + ["Hugh", "Olsen"], + ["Benedict", "Paten"], + ["Beate", "Ritz"], + ["R Frank", "Kooy"], + ["Jozef", "Gecz"], + ["Andrew J", "Sharp"] + ], + "publisher": "American journal of human genetics", + "issn": "1537-6605", + "date": "2020-09-15", + "abstract": "There is growing recognition that epivariations, most often recognized as promoter hypermethylation events that lead to gene silencing, are associated with a number of human diseases. However, little information exists on the prevalence and distribution of rare epigenetic variation in the human population. In order to address this, we performed a survey of methylation profiles from 23,116 individuals using the Illumina 450k array. Using a robust outlier approach, we identified 4,452 unique autosomal epivariations, including potentially inactivating promoter methylation events at 384 genes linked to human disease. For example, we observed promoter hypermethylation of BRCA1 and LDLR at population frequencies of \u223c1 in 3,000 and \u223c1 in 6,000, respectively, suggesting that epivariations may underlie a fraction of human disease which would be missed by purely sequence-based approaches. Using expression data, we confirmed that many epivariations are associated with outlier gene expression. Analysis of variation data and monozygous twin pairs suggests that approximately two-thirds of epivariations segregate in the population secondary to underlying sequence mutations, while one-third are likely sporadic events that occur post-zygotically. We identified 25 loci where rare hypermethylation coincided with the presence of an unstable CGG tandem repeat, validated the presence of CGG expansions at several loci, and identified the putative molecular defect underlying most of the known folate-sensitive fragile sites in the genome. Our study provides a catalog of rare epigenetic changes in the human genome, gives insight into the underlying origins and consequences of epivariations, and identifies many hypermethylated CGG repeat expansions.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:32937144" +}, +{ + "id": "pmid:29939198", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/29939198", + "title": "Clinical, genetic and neuropathological characterization of spinocerebellar ataxia type 37.", + "type": "article-journal", + "doi": "10.1093/brain/awy137", + "authors": [ + ["Marc", "Corral-Juan"], + ["Carmen", "Serrano-Munuera"], + ["Alberto", "R\u00e1bano"], + ["Daniel", "Cota-Gonz\u00e1lez"], + ["Anna", "Segarra-Roca"], + ["Lourdes", "Ispierto"], + ["Antonio Tom\u00e1s", "Cano-Orgaz"], + ["Astrid D", "Adarmes"], + ["Carlota", "M\u00e9ndez-Del-Barrio"], + ["Silvia", "Jes\u00fas"], + ["Pablo", "Mir"], + ["Victor", "Volpini"], + ["Ramiro", "Alvarez-Ramo"], + ["Ivelisse", "S\u00e1nchez"], + ["Antoni", "Matilla-Due\u00f1as"] + ], + "publisher": "Brain : a journal of neurology", + "issn": "1460-2156", + "date": "2018-07-01", + "abstract": "The autosomal dominant spinocerebellar ataxias (SCAs) consist of a highly heterogeneous group of rare movement disorders characterized by progressive cerebellar ataxia variably associated with ophthalmoplegia, pyramidal and extrapyramidal signs, dementia, pigmentary retinopathy, seizures, lower motor neuron signs, or peripheral neuropathy. Over 41 different SCA subtypes have been described evidencing the high clinical and genetic heterogeneity. We previously reported a novel spinocerebellar ataxia type subtype, SCA37, linked to an 11-Mb genomic region on 1p32, in a large Spanish ataxia pedigree characterized by ataxia and a pure cerebellar syndrome distinctively presenting with early-altered vertical eye movements. Here we demonstrate the segregation of an unstable intronic ATTTC pentanucleotide repeat mutation within the 1p32 5' non-coding regulatory region of the gene encoding the reelin adaptor protein DAB1, implicated in neuronal migration, as the causative genetic defect of the disease in four Spanish SCA37 families. We describe the clinical-genetic correlation and the first SCA37 neuropathological findings caused by dysregulation of cerebellar DAB1 expression. Post-mortem neuropathology of two patients with SCA37 revealed severe loss of Purkinje cells with abundant astrogliosis, empty baskets, occasional axonal spheroids, and hypertrophic fibres by phosphorylated neurofilament immunostaining in the cerebellar cortex. The remaining cerebellar Purkinje neurons showed loss of calbindin immunoreactivity, aberrant dendrite arborization, nuclear pathology including lobulation, irregularity, and hyperchromatism, and multiple ubiquitinated perisomatic granules immunostained for DAB1. A subpopulation of Purkinje cells was found ectopically mispositioned within the cerebellar cortex. No significant neuropathological alterations were identified in other brain regions in agreement with a pure cerebellar syndrome. Importantly, we found that the ATTTC repeat mutation dysregulated DAB1 expression and induced an RNA switch resulting in the upregulation of reelin-DAB1 and PI3K/AKT signalling in the SCA37 cerebellum. This study reveals the unstable ATTTC repeat mutation within the DAB1 gene as the underlying genetic cause and provides evidence of reelin-DAB1 signalling dysregulation in the spinocerebellar ataxia type 37.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:29939198" +}, +{ + "id": "pmid:40140942", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/40140942", + "title": "STRchive: a dynamic resource detailing population-level and locus-specific insights at tandem repeat disease loci.", + "type": "article-journal", + "doi": "10.1186/s13073-025-01454-4", + "authors": [ + ["Laurel", "Hiatt"], + ["Ben", "Weisburd"], + ["Egor", "Dolzhenko"], + ["Vincent", "Rubinetti"], + ["Akshay K", "Avvaru"], + ["Grace E", "VanNoy"], + ["Nehir Edibe", "Kurtas"], + ["Heidi L", "Rehm"], + ["Aaron R", "Quinlan"], + ["Harriet", "Dashnow"] + ], + "publisher": "Genome medicine", + "issn": "1756-994X", + "date": "2025-03-26", + "abstract": "Approximately 8% of the human genome consists of repetitive elements called tandem repeats (TRs): short tandem repeats (STRs) of 1-6\u00a0bp motifs and variable number tandem repeats (VNTRs) of 7\u2009+\u2009bp motifs. TR variants contribute to several dozen monogenic diseases but remain understudied and enigmatic. It remains comparatively challenging to interpret the clinical significance of TR variants, particularly relative to single nucleotide variants. We present STRchive ( http://strchive.org/ ), a dynamic resource consolidating information on TR disease loci from the research literature, up-to-date clinical resources, and large-scale genomic databases, streamlining TR variant interpretation at disease-associated loci.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:40140942" +}, +{ + "id": "pmid:7847063", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/7847063", + "title": "Brain involvement in myotonic dystrophy: MRI features and their relationship to clinical and cognitive conditions.", + "type": "article-journal", + "doi": "10.1111/j.1600-0404.1994.tb02708.x", + "authors": [ + ["B", "Censori"], + ["L", "Provinciali"], + ["M", "Danni"], + ["L", "Chiaramoni"], + ["M", "Maricotti"], + ["N", "Foschi"], + ["M", "Del Pesce"], + ["U", "Salvolini"] + ], + "publisher": "Acta neurologica Scandinavica", + "issn": "0001-6314", + "date": "1994-09-01", + "abstract": "A prospective, case-control study was carried out on 25 patients with myotonic dystrophy (MyD) and 25 healthy subjects using brain magnetic resonance imaging (MRI). The frequency and severity of white matter hyperintense lesions (WMHL) and brain atrophy in MyD patients were compared with their clinical features and cognitive impairment using an extensive neuropsychological battery. Eighty-four per cent of MyD patients showed WMHL, compared with 16% of controls (p < 0.0001). These lesions involved all cerebral lobes, without hemispheric prevalence. Twenty-eight per cent of MyD patients also showed particular WMHL at their temporal poles. Myotonic patients had significantly more cortical atrophy than controls. No relationship between atrophy and WMHL was found on the MRI scans. The extent of brain abnormalities (WMHL or atrophy) was not correlated to age, disease duration, physical disability or severity of neuropsychological impairment. Central nervous system abnormalities revealed by MRI appear to be an almost constant feature of MyD, but they are not found to be related to clinical or cognitive parameters. Their nature is still unclear: some of them, located at the temporal poles, seem to be characteristic of the disease, while others small, diffuse WMHLs, similar to the age related alterations revealed by MRI occurring during young and adult age in MyD patients.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:7847063" +}, +{ + "id": "pmid:28334780", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/28334780", + "title": "EIF4A3 deficient human iPSCs and mouse models demonstrate neural crest defects that underlie Richieri-Costa-Pereira syndrome.", + "type": "article-journal", + "doi": "10.1093/hmg/ddx078", + "authors": [ + ["Emily E", "Miller"], + ["Gerson S", "Kobayashi"], + ["Camila M", "Musso"], + ["Miranda", "Allen"], + ["Felipe A A", "Ishiy"], + ["Luiz Carlos", "de Caires"], + ["Ernesto", "Goulart"], + ["Karina", "Griesi-Oliveira"], + ["Roseli M", "Zechi-Ceide"], + ["Antonio", "Richieri-Costa"], + ["Debora R", "Bertola"], + ["Maria Rita", "Passos-Bueno"], + ["Debra L", "Silver"] + ], + "publisher": "Human molecular genetics", + "issn": "1460-2083", + "date": "2017-06-15", + "abstract": "Biallelic loss-of-function mutations in the RNA-binding protein EIF4A3 cause Richieri-Costa-Pereira syndrome (RCPS), an autosomal recessive condition mainly characterized by craniofacial and limb malformations. However, the pathogenic cellular mechanisms responsible for this syndrome are entirely unknown. Here, we used two complementary approaches, patient-derived induced pluripotent stem cells (iPSCs) and conditional Eif4a3 mouse models, to demonstrate that defective neural crest cell (NCC) development explains RCPS craniofacial abnormalities. RCPS iNCCs have decreased migratory capacity, a distinct phenotype relative to other craniofacial disorders. Eif4a3 haploinsufficient embryos presented altered mandibular process fusion and micrognathia, thus recapitulating the most penetrant phenotypes of the syndrome. These defects were evident in either ubiquitous or NCC-specific Eif4a3 haploinsufficient animals, demonstrating an autonomous requirement of Eif4a3 in NCCs. Notably, RCPS NCC-derived mesenchymal stem-like cells (nMSCs) showed premature bone differentiation, a phenotype paralleled by premature clavicle ossification in Eif4a3 haploinsufficient embryos. Likewise, nMSCs presented compromised in vitro chondrogenesis, and Meckel's cartilage was underdeveloped in vivo. These findings indicate novel and essential requirements of EIF4A3 for NCC migration and osteochondrogenic differentiation during craniofacial development. Altogether, complementary use of iPSCs and mouse models pinpoint unique cellular mechanisms by which EIF4A3 mutation causes RCPS, and provide a paradigm to study craniofacial disorders.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:28334780" +}, +{ + "id": "pmid:12489043", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/12489043", + "title": "A mutation in the fibroblast growth factor 14 gene is associated with autosomal dominant cerebellar ataxia [corrected].", + "type": "article-journal", + "doi": "10.1086/345488", + "authors": [ + ["John C", "van Swieten"], + ["Esther", "Brusse"], + ["Bianca M", "de Graaf"], + ["Elmar", "Krieger"], + ["Raoul", "van de Graaf"], + ["Inge", "de Koning"], + ["Anneke", "Maat-Kievit"], + ["Peter", "Leegwater"], + ["Dennis", "Dooijes"], + ["Ben A", "Oostra"], + ["Peter", "Heutink"] + ], + "publisher": "American journal of human genetics", + "issn": "0002-9297", + "date": "2002-12-13", + "abstract": "Hereditary spinocerebellar ataxias (SCAs) are a clinically and genetically heterogeneous group of neurodegenerative disorders for which >/=14 different genetic loci have been identified. In some SCA types, expanded tri- or pentanucleotide repeats have been identified, and the length of these expansions correlates with the age at onset and with the severity of the clinical phenotype. In several other SCA types, no genetic defect has yet been identified. We describe a large, three-generation family with early-onset tremor, dyskinesia, and slowly progressive cerebellar ataxia, not associated with any of the known SCA loci, and a mutation in the fibroblast growth factor 14 (FGF14) gene on chromosome 13q34. Our observations are in accordance with the occurrence of ataxia and paroxysmal dyskinesia in Fgf14-knockout mice. As indicated by protein modeling, the amino acid change from phenylalanine to serine at position 145 is predicted to reduce the stability of the protein. The present FGF14 mutation represents a novel gene defect involved in the neurodegeneration of cerebellum and basal ganglia.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:12489043" +}, +{ + "id": "pmid:12123606", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/12123606", + "title": "Ataxia and paroxysmal dyskinesia in mice lacking axonally transported FGF14.", + "type": "article-journal", + "doi": "10.1016/s0896-6273(02)00744-4", + "authors": [ + ["Qing", "Wang"], + ["Mark E", "Bardgett"], + ["Michael", "Wong"], + ["David F", "Wozniak"], + ["Junyang", "Lou"], + ["Benjamin D", "McNeil"], + ["Chen", "Chen"], + ["Anthony", "Nardi"], + ["David C", "Reid"], + ["Kelvin", "Yamada"], + ["David M", "Ornitz"] + ], + "publisher": "Neuron", + "issn": "0896-6273", + "date": "2002-07-03", + "abstract": "Fibroblast growth factor 14 (FGF14) belongs to a distinct subclass of FGFs that is expressed in the developing and adult CNS. We disrupted the Fgf14 gene and introduced an Fgf14(N-beta-Gal) allele that abolished Fgf14 expression and generated a fusion protein (FGF14N-beta-gal) containing the first exon of FGF14 and beta-galactosidase. Fgf14-deficient mice were viable, fertile, and anatomically normal, but developed ataxia and a paroxysmal hyperkinetic movement disorder. Neuropharmacological studies showed that Fgf14-deficient mice have reduced responses to dopamine agonists. The paroxysmal hyperkinetic movement disorder phenocopies a form of dystonia, a disease often associated with dysfunction of the putamen. Strikingly, the FGF14N-beta-gal chimeric protein was efficiently transported into neuronal processes in the basal ganglia and cerebellum. Together, these studies identify a novel function for FGF14 in neuronal signaling and implicate FGF14 in axonal trafficking and synaptosomal function.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:12123606" +}, +{ + "id": "pmid:17978045", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/17978045", + "title": "The FGF14(F145S) mutation disrupts the interaction of FGF14 with voltage-gated Na+ channels and impairs neuronal excitability.", + "type": "article-journal", + "doi": "10.1523/jneurosci.2282-07.2007", + "authors": [ + ["Fernanda", "Laezza"], + ["Benjamin R", "Gerber"], + ["Jun-Yang", "Lou"], + ["Marie A", "Kozel"], + ["Hali", "Hartman"], + ["Ann Marie", "Craig"], + ["David M", "Ornitz"], + ["Jeanne M", "Nerbonne"] + ], + "publisher": "The Journal of neuroscience : the official journal of the Society for Neuroscience", + "issn": "1529-2401", + "date": "2007-10-31", + "abstract": "Fibroblast growth factor 14 (FGF14) belongs to the intracellular FGF homologous factor subfamily of FGF proteins (iFGFs) that are not secreted and do not activate tyrosine kinase receptors. The iFGFs, however, have been shown to interact with the pore-forming (alpha) subunits of voltage-gated Na+ (Na(v)) channels. The neurological phenotypes seen in Fgf14-/- mice and the identification of an FGF14 missense mutation (FGF14(F145S)) in a Dutch family presenting with cognitive impairment and spinocerebellar ataxia suggest links between FGF14 and neuronal functioning. Here, we demonstrate that the expression of FGF14(F145S) reduces Na(v) alpha subunit expression at the axon initial segment, attenuates Na(v) channel currents, and reduces the excitability of hippocampal neurons. In addition, and in contrast with wild-type FGF14, FGF14(F145S) does not interact directly with Na(v) channel alpha subunits. Rather, FGF14(F145S) associates with wild-type FGF14 and disrupts the interaction between wild-type FGF14 and Na(v) alpha subunits, suggesting that the mutant FGF14(F145S) protein acts as a dominant negative, interfering with the interaction between wild-type FGF14 and Na(v) channel alpha subunits and altering neuronal excitability.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:17978045" +}, +{ + "id": "pmid:2031184", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/2031184", + "title": "Instability of a 550-base pair DNA segment and abnormal methylation in fragile X syndrome.", + "type": "article-journal", + "doi": "10.1126/science.252.5009.1097", + "authors": [ + ["I", "Oberl\u00e9"], + ["F", "Rousseau"], + ["D", "Heitz"], + ["C", "Kretz"], + ["D", "Devys"], + ["A", "Hanauer"], + ["J", "Bou\u00e9"], + ["M F", "Bertheas"], + ["J L", "Mandel"] + ], + "publisher": "Science (New York, N.Y.)", + "issn": "0036-8075", + "date": "1991-05-24", + "abstract": "The fragile X syndrome, a common cause of inherited mental retardation, is characterized by an unusual mode of inheritance. Phenotypic expression has been linked to abnormal cytosine methylation of a single CpG island, at or very near the fragile site. Probes adjacent to this island detected very localized DNA rearrangements that constituted the fragile X mutations, and whose target was a 550-base pair GC-rich fragment. Normal transmitting males had a 150- to 400-base pair insertion that was inherited by their daughters either unchanged, or with small differences in size. Fragile X-positive individuals in the next generation had much larger fragments that differed among siblings and showed a generally heterogeneous pattern indicating somatic mutation. The mutated allele appeared unmethylated in normal transmitting males, methylated only on the inactive X chromosome in their daughters, and totally methylated in most fragile X males. However, some males had a mosaic pattern. Expression of the fragile X syndrome thus appears to result from a two-step mutation as well as a highly localized methylation. Carriers of the fragile X mutation can easily be detected regardless of sex or phenotypic expression, and rare apparent false negatives may result from genetic heterogeneity or misdiagnosis.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:2031184" +}, +{ + "id": "pmid:35148024", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/35148024", + "title": "The association between mosaicism type and cognitive and behavioral functioning among males with fragile X syndrome.", + "type": "article-journal", + "doi": "10.1002/ajmg.a.62594", + "authors": [ + ["Lu", "Meng"], + ["Walter E", "Kaufmann"], + ["Richard E", "Frye"], + ["Katherine", "Ong"], + ["Jennifer W", "Kaminski"], + ["Milen", "Velinov"], + ["Elizabeth", "Berry-Kravis"] + ], + "publisher": "American journal of medical genetics. Part A", + "issn": "1552-4833", + "date": "2021-12-08", + "abstract": "Mosaicism in fragile X syndrome (FXS) refers to two different FMR1 allele variations: size mosaicism represents different numbers of CGG repeats between the two alleles, such that in addition to a full mutation allele there is an allele in the normal or premutation range of CGG repeats, while methylation mosaicism indicates whether a full-mutation allele is fully or partially methylated. The present study explored the association between mosaicism type and cognitive and behavioral functioning in a large sample of males 3\u2009years and older (n\u00a0=\u00a0487) with FXS, participating in the Fragile X Online Registry with Accessible Research Database. Participants with methylation mosaicism were less severely cognitively affected as indicated by a less severe intellectual disability rating, higher intelligence quotient and adaptive behavior score, and lower social impairment score. In contrast, the presence of size mosaicism was not significantly associated with better cognitive and behavioral outcomes than full mutation. Our findings suggest that methylation mosaicism is associated with better cognitive functioning and adaptive behavior and less social impairment. Further research could assess to what extent these cognitive and behavioral differences depend on molecular diagnostic methods and the impact of mosaicism on prognosis of individuals with FXS.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:35148024" +}, +{ + "id": "pmid:6712153", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/6712153", + "title": "The marker (X) syndrome: a cytogenetic and genetic analysis.", + "type": "article-journal", + "doi": "10.1111/j.1469-1809.1984.tb00830.x", + "authors": [ + ["S L", "Sherman"], + ["N E", "Morton"], + ["P A", "Jacobs"], + ["G", "Turner"] + ], + "publisher": "Annals of human genetics", + "issn": "0003-4800", + "date": "1984-01-01", + "abstract": "The results of a cytogenetic and segregation analysis of 110 pedigrees of the mar (X) syndrome are reported. The cytogenetic study indicated an inverse relationship between IQ and the mar(X) frequency in females but not in males. A small but significant effect of age on mar(X) frequency was observed in both males and females, but in females it was restricted to those of normal intelligence, retarded females showing no significant effect. Classical segregation analysis was performed using the program SEGRAN, analysing sexes separately. A 20% deficit of affected males was observed, the most plausible explanation for the majority of these cases being incomplete penetrance. Since this was an unexpected result, the data were scrutinized for possible biases; however, correction of these had little effect on the estimate. The penetrance of mental impairment in carrier females was estimated to be 30% and of mental impairment and/or mar(X) expression to be 56%. Thus 44% of carriers cannot be detected with our definition of affection. No evidence for sporadic cases among affected males was found. Complex segregation analysis was performed using the sex-linked version of POINTER, analysing sexes together. This was done in order to test the results from classical segregation analysis, to test for family resemblance and to estimate mutation rates. It was confirmed that there was a 20% deficit of affected males, that penetrance of mental impairment in females was approximately 30% and that there was no evidence for sporadic males. Thus all males with the gene appear to have received it from their carrier mothers and all mutations must occur in sperm. The mutation rate in sperm was estimated to be as high as 7.2 X 10(-4), implying that over one-half of random carrier females are fresh mutants. Our results have important implications for genetic counseling as they imply that all mothers of isolated affected males are carriers, that normal brothers of affected males have a 17% chance of carrying the gene and transmitting it to all their daughters, and that normal sisters of affected males have, at most, a 30% chance of being carriers. Since there are biases in the data due to the testing of particular individuals, these probabilities must be considered approximations until they are independently confirmed.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:6712153" +}, +{ + "id": "pmid:3838733", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/3838733", + "title": "Further segregation analysis of the fragile X syndrome with special reference to transmitting males.", + "type": "article-journal", + "doi": "10.1007/bf00291644", + "authors": [ + ["S L", "Sherman"], + ["P A", "Jacobs"], + ["N E", "Morton"], + ["U", "Froster-Iskenius"], + ["P N", "Howard-Peebles"], + ["K B", "Nielsen"], + ["M W", "Partington"], + ["G R", "Sutherland"], + ["G", "Turner"], + ["M", "Watson"] + ], + "publisher": "Human genetics", + "issn": "0340-6717", + "date": "1985-01-01", + "abstract": "A new series of 96 pedigrees with the fra(X) syndrome was analysed using complex segregation analysis with pointers, defining affection as any degree of mental impairment. These families were found to exhibit the same segregation pattern as the first series of 110 pedigrees (Sherman et al. 1984). The best estimate for penetrance of mental impairment in males was 79% and in females was 35% for the combined data. Again, there was little evidence for sporadic cases among affected males. Many more intellectually normal transmitting males have been observed since the existence of such males and the concomitant need to investigate the paternal side of pedigrees was recognized. On further investigation of all 206 pedigrees from the old and new data sets, the sibships of nonexpressing males appeared to be different from those of expressing males. Our analysis, using mental impairment as the phenotype, suggested that obligate carrier mothers and daughters of intellectually normal transmitting males are rarely, if ever, mentally impaired and that the sibs of transmitting males are much less likely to be retarded than the sibs of mentally impaired males. Though mothers and daughters of transmitting males are similar in phenotype, the expression of the gene in their offspring appears to be different: the penetrance of mental impairment is higher in offspring of intellectually normal daughters of transmitting males than in offspring of intellectually normal mothers of transmitting males. The implications of these observations for genetic counseling and for genetic models of the fra(X) syndrome are discussed.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:3838733" +}, +{ + "id": "pmid:1673303", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/1673303", + "title": "DNA linkage analysis of 26 families with fragile X syndrome.", + "type": "article-journal", + "doi": "10.1002/ajmg.1320380229", + "authors": [ + ["N J", "Carpenter"] + ], + "publisher": "American journal of medical genetics", + "issn": "0148-7299", + "date": "1991-01-01", + "abstract": "Linkage data using the markers F9 (factor IX), DXS105 (cX55.7), DXS98 (4D-8), DXS52 (St14), DXS15 (DX13), and DXS134 (cpX67) are presented from 26 pedigrees segregating with fragile X (fra[X]) syndrome. Cytogenetic and DNA data were combined in 2-point linkage analysis for the estimation of lod scores and carrier probabilities in potential carriers. Recombination fractions (theta) corresponding to the maximum lod scores (Z) were obtained for F9 (Z = 2.78, theta = 0.15), DXS105 (Z = 1.72, theta = 14), DXS98 (Z = 3.74, theta = 0.00), DXS52 (Z = 3.53, theta = 0.17), DXS15 (Z = 4.03, theta = 0.11), and DXS134 (Z = 2.12, theta = 0.16) and for the fragile X locus (FRAXA). Recombination fractions between marker loci in the families are also presented. Discordance between the results of cytogenetic and DNA analyses in 2 potential carrier females was investigated by reexamination of the fragile site expression and was concluded to be due to the expression of the common fragile site at Xq27.2.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:1673303" +}, +{ + "id": "pmid:2903666", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/2903666", + "title": "Linkage studies in a large fragile X family.", + "type": "article-journal", + "doi": "", + "authors": [ + ["M", "Patterson"], + ["M", "Bell"], + ["W", "Kress"], + ["K E", "Davies"], + ["U", "Froster-Iskenius"] + ], + "publisher": "American journal of human genetics", + "issn": "0002-9297", + "date": "1988-11-01", + "abstract": "We have analyzed the segregation of five loci in the region Xq27/28 in a large family affected by the fragile X syndrome. The marker DXS115 (767) is shown to be polymorphic with the enzyme PstI, as well as with BstXI. This marker will be useful in the analysis of both fragile X and haemophilia A families. The data presented here are consistent with the following order of loci: Xcen-F9-DXS105(cX55.7,55E)-DXS98(4D-8)- FRAXA-DXS52(St14)-DXS115(767)-qter.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:2903666" +}, +{ + "id": "pmid:22483044", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/22483044", + "title": "The pathophysiology of fragile X (and what it teaches us about synapses).", + "type": "article-journal", + "doi": "10.1146/annurev-neuro-060909-153138", + "authors": [ + ["Asha L", "Bhakar"], + ["G\u00fcl", "D\u00f6len"], + ["Mark F", "Bear"] + ], + "publisher": "Annual review of neuroscience", + "issn": "1545-4126", + "date": "2012-04-05", + "abstract": "Fragile X is the most common known inherited cause of intellectual disability and autism, and it typically results from transcriptional silencing of FMR1 and loss of the encoded protein, FMRP (fragile X mental retardation protein). FMRP is an mRNA-binding protein that functions at many synapses to inhibit local translation stimulated by metabotropic glutamate receptors (mGluRs) 1 and 5. Recent studies on the biology of FMRP and the signaling pathways downstream of mGluR1/5 have yielded deeper insight into how synaptic protein synthesis and plasticity are regulated by experience. This new knowledge has also suggested ways that altered signaling and synaptic function can be corrected in fragile X, and human clinical trials based on this information are under way.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:22483044" +}, +{ + "id": "pmid:30642066", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/30642066", + "title": "Closing the Gender Gap in Fragile X Syndrome: Review on Females with FXS and Preliminary Research Findings.", + "type": "article-journal", + "doi": "10.3390/brainsci9010011", + "authors": [ + ["Kristi L", "Bartholomay"], + ["Cindy H", "Lee"], + ["Jennifer L", "Bruno"], + ["Amy A", "Lightbody"], + ["Allan L", "Reiss"] + ], + "publisher": "Brain sciences", + "issn": "2076-3425", + "date": "2019-01-12", + "abstract": "Fragile X syndrome (FXS) is a genetic condition known to increase the risk of cognitive impairment and socio-emotional challenges in affected males and females. To date, the vast majority of research on FXS has predominantly targeted males, who usually exhibit greater cognitive impairment compared to females. Due to their typically milder phenotype, females may have more potential to attain a higher level of independence and quality of life than their male counterparts. However, the constellation of cognitive, behavioral, and, particularly, socio-emotional challenges present in many females with FXS often preclude them from achieving their full potential. It is, therefore, critical that more research specifically focuses on females with FXS to elucidate the role of genetic, environmental, and socio-emotional factors on outcome in this often-overlooked population.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:30642066" +}, +{ + "id": "pmid:36692473", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/36692473", + "title": "Mouse models of fragile X-related disorders.", + "type": "article-journal", + "doi": "10.1242/dmm.049485", + "authors": [ + ["Rob", "Willemsen"], + ["R Frank", "Kooy"] + ], + "publisher": "Disease models & mechanisms", + "issn": "1754-8411", + "date": "2023-01-24", + "abstract": "The fragile X-related disorders are an important group of hereditary disorders that are caused by expanded CGG repeats in the 5' untranslated region of the FMR1 gene or by mutations in the coding sequence of this gene. Two categories of pathological CGG repeats are associated with these disorders, full mutation alleles and shorter premutation alleles. Individuals with full mutation alleles develop fragile X syndrome, which causes autism and intellectual disability, whereas those with premutation alleles, which have shorter CGG expansions, can develop fragile X-associated tremor/ataxia syndrome, a progressive neurodegenerative disease. Thus, fragile X-related disorders can manifest as neurodegenerative or neurodevelopmental disorders, depending on the size of the repeat expansion. Here, we review mouse models of fragile X-related disorders and discuss how they have informed our understanding of neurodegenerative and neurodevelopmental disorders. We also assess the translational value of these models for developing rational targeted therapies for intellectual disability and autism disorders.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:36692473" +}, +{ + "id": "pmid:8033209", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/8033209", + "title": "Fmr1 knockout mice: a model to study fragile X mental retardation. The Dutch-Belgian Fragile X Consortium.", + "type": "article-journal", + "doi": "", + "authors": [], + "publisher": "Cell", + "issn": "0092-8674", + "date": "1994-07-15", + "abstract": "Male patients with fragile X syndrome lack FMR1 protein due to silencing of the FMR1 gene by amplification of a CGG repeat and subsequent methylation of the promoter region. The absence of FMR1 protein leads to mental retardation, aberrant behavior, and macroorchidism. Hardly anything is known about the physiological function of FMR1 and the pathological mechanisms leading to these symptoms. Therefore, we designed a knockout model for the fragile X syndrome in mice. The knockout mice lack normal Fmr1 protein and show macroorchidism, learning deficits, and hyperactivity. Consequently, this knockout mouse may serve as a valuable tool in the elucidation of the physiological role of FMR1 and the mechanisms involved in macroorchidism, abnormal behavior, and mental retardation.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:8033209" +}, +{ + "id": "pmid:16257225", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/16257225", + "title": "The generation of a conditional Fmr1 knock out mouse model to study Fmrp function in vivo.", + "type": "article-journal", + "doi": "10.1016/j.nbd.2005.08.019", + "authors": [ + ["E J", "Mientjes"], + ["I", "Nieuwenhuizen"], + ["L", "Kirkpatrick"], + ["T", "Zu"], + ["M", "Hoogeveen-Westerveld"], + ["L", "Severijnen"], + ["M", "Rif\u00e9"], + ["R", "Willemsen"], + ["D L", "Nelson"], + ["B A", "Oostra"] + ], + "publisher": "Neurobiology of disease", + "issn": "0969-9961", + "date": "2005-10-26", + "abstract": "The FMR1 gene, mutated in Fragile X syndrome patients, has been modeled in mice with a neomycin cassette inserted in exon 5 of the mouse Fmr1 gene creating an Fmr1 knockout (Fmr1 KO) allele. This results in animals lacking Fmr1 protein (Fmrp) expression in all tissues. We have created a new, more versatile Fmr1 in vivo KO model (Fmr1 KO2) and generated conditional Fmr1 KO (CKO) mice by flanking the promoter and first exon of Fmr1 with lox P sites. This enables us to create a null allele in specific cell types and at specific time points by crossing Fmr1 CKO mice with tissue specific or inducible cre-recombinase expressing mice. The new Fmr1 KO2 line does not express any Fmrp and also lacks detectable Fmr1 transcripts. Crossing the Fmr1 CKO line with a Purkinje cell-specific cre-recombinase expresser produces mice that are null for Fmr1 in Purkinje neurons but wild type in all other cell types.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:16257225" +}, +{ + "id": "pmid:31364704", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/31364704", + "title": "Deletion of Fmr1 from Forebrain Excitatory Neurons Triggers Abnormal Cellular, EEG, and Behavioral Phenotypes in the Auditory Cortex of a Mouse Model of Fragile X Syndrome.", + "type": "article-journal", + "doi": "10.1093/cercor/bhz141", + "authors": [ + ["Jonathan W", "Lovelace"], + ["Maham", "Rais"], + ["Arnold R", "Palacios"], + ["Xinghao S", "Shuai"], + ["Steven", "Bishay"], + ["Otilia", "Popa"], + ["Patricia S", "Pirbhoy"], + ["Devin K", "Binder"], + ["David L", "Nelson"], + ["Iryna M", "Ethell"], + ["Khaleel A", "Razak"] + ], + "publisher": "Cerebral cortex (New York, N.Y. : 1991)", + "issn": "1460-2199", + "date": "2020-03-14", + "abstract": "Fragile X syndrome (FXS) is a leading genetic cause of autism with symptoms that include sensory processing deficits. In both humans with FXS and a mouse model [Fmr1 knockout (KO) mouse], electroencephalographic (EEG) recordings show enhanced resting state gamma power and reduced sound-evoked gamma synchrony. We previously showed that elevated levels of matrix metalloproteinase-9 (MMP-9) may contribute to these phenotypes by affecting perineuronal nets (PNNs) around parvalbumin (PV) interneurons in the auditory cortex of Fmr1 KO mice. However, how different cell types within local cortical circuits contribute to these deficits is not known. Here, we examined whether Fmr1 deletion in forebrain excitatory neurons affects neural oscillations, MMP-9 activity, and PV/PNN expression in the auditory cortex. We found that cortical MMP-9 gelatinase activity, mTOR/Akt phosphorylation, and resting EEG gamma power were enhanced in CreNex1/Fmr1Flox/y conditional KO (cKO) mice, whereas the density of PV/PNN cells was reduced. The CreNex1/Fmr1Flox/y cKO mice also show increased locomotor activity, but not the anxiety-like behaviors. These results indicate that fragile X mental retardation protein changes in excitatory neurons in the cortex are sufficient to elicit cellular, electrophysiological, and behavioral phenotypes in Fmr1 KO mice. More broadly, these results indicate that local cortical circuit abnormalities contribute to sensory processing deficits in autism spectrum disorders.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:31364704" +}, +{ + "id": "pmid:18574214", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/18574214", + "title": "Reproductive health of adolescent girls who carry the FMR1 premutation: expected phenotype based on current knowledge of fragile x-associated primary ovarian insufficiency.", + "type": "article-journal", + "doi": "10.1196/annals.1429.029", + "authors": [ + ["John J", "De Caro"], + ["Celia", "Dominguez"], + ["Stephanie L", "Sherman"] + ], + "publisher": "Annals of the New York Academy of Sciences", + "issn": "0077-8923", + "date": "2008-01-01", + "abstract": "The fragile X mental retardation 1 (FMR1) gene, located on the X chromosome, is characterized by a dynamic CGG repeat expansion in the 5' untranslated region. It has long been known that female carriers of the FMR1 premutation allele (55-199 CGG) are at risk for passing the FMR1 full mutation (> or =200 repeats) to their offspring, which results in a common form of mental retardation known as fragile X syndrome. The FMR1 premutation allele, however, also places female carriers at significantly increased risk for prematurely diminished ovarian function, which we refer to as fragile X-associated primary ovarian insufficiency (FXPOI). Although of particular concern for younger women, to date, studies of FXPOI have been restricted to women > or =18 years of age and have not specifically addressed ovarian reserve and menstrual cycle characteristics among adolescent carriers. We discuss the expected reproductive phenotype among FMR1 premutation carriers during adolescence, the associated health considerations based on our current understanding of FXPOI, and the directions for future studies.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:18574214" +}, +{ + "id": "pmid:20497189", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/20497189", + "title": "Clinical involvement in daughters of men with fragile X-associated tremor ataxia syndrome.", + "type": "article-journal", + "doi": "10.1111/j.1399-0004.2010.01448.x", + "authors": [ + ["W", "Chonchaiya"], + ["D V", "Nguyen"], + ["J", "Au"], + ["L", "Campos"], + ["E M", "Berry-Kravis"], + ["K", "Lohse"], + ["Y", "Mu"], + ["A", "Utari"], + ["C", "Hervey"], + ["L", "Wang"], + ["P", "Sorensen"], + ["K", "Cook"], + ["L", "Gane"], + ["F", "Tassone"], + ["R J", "Hagerman"] + ], + "publisher": "Clinical genetics", + "issn": "1399-0004", + "date": "2010-04-14", + "abstract": "Women with the fragile X mental retardation 1 (FMR1) premutation often have concerns about neurological and medical problems, as they become older and if their fathers experience fragile X-associated tremor/ataxia syndrome (FXTAS). We therefore determined the prevalence of these problems in 110 daughters of men with FXTAS [mean age of 44.8 years (SD 8.2)]. We compared them with 43 female controls with normal FMR1 alleles [mean age of 43.8 years (SD 8.1)] and 36 premutation carrier daughters of parents with the premutation, but without FXTAS [mean age of 43.5 years (SD 7.7)]. Overall, daughters of men with FXTAS have a higher prevalence of neurological symptoms including tremor, balance problems, memory problems, and dizziness, menopausal symptoms, and psychiatric involvement including sleep problems and anxiety when compared with non-carrier female controls. Reported balance problems and menopausal symptoms were significantly higher in daughters of men with FXTAS than in carrier daughters of parents without FXTAS, suggesting the potential influence of background gene effects. Therefore, neurological, psychological and gynecological surveillance should be warranted to better provide appropriate counseling, management and care for daughters of men with FXTAS. Biological markers of additional gene effects that predispose individuals with the premutation to FXTAS need to be developed.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:20497189" +}, +{ + "id": "pmid:12700164", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/12700164", + "title": "The FMR1 CGG repeat mouse displays ubiquitin-positive intranuclear neuronal inclusions; implications for the cerebellar tremor/ataxia syndrome.", + "type": "article-journal", + "doi": "10.1093/hmg/ddg114", + "authors": [ + ["Rob", "Willemsen"], + ["Marianne", "Hoogeveen-Westerveld"], + ["Surya", "Reis"], + ["Joan", "Holstege"], + ["Lies-Anne W F M", "Severijnen"], + ["Ingeborg M", "Nieuwenhuizen"], + ["Mariette", "Schrier"], + ["Leontine", "van Unen"], + ["Flora", "Tassone"], + ["Andre T", "Hoogeveen"], + ["Paul J", "Hagerman"], + ["Edwin J", "Mientjes"], + ["Ben A", "Oostra"] + ], + "publisher": "Human molecular genetics", + "issn": "0964-6906", + "date": "2003-05-01", + "abstract": "Recent studies have reported that alleles in the premutation range in the FMR1 gene in males result in increased FMR1 mRNA levels and at the same time mildly reduced FMR1 protein levels. Some elderly males with premutations exhibit an unique neurodegenerative syndrome characterized by progressive intention tremor and ataxia. We describe neurohistological, biochemical and molecular studies of the brains of mice with an expanded CGG repeat and report elevated Fmr1 mRNA levels and intranuclear inclusions with ubiquitin, Hsp40 and the 20S catalytic core complex of the proteasome as constituents. An increase was observed of both the number and the size of the inclusions during the course of life, which correlates with the progressive character of the cerebellar tremor/ataxia syndrome in humans. The observations in expanded-repeat mice support a direct role of the Fmr1 gene, by either CGG expansion per se or by mRNA level, in the formation of the inclusions and suggest a correlation between the presence of intranuclear inclusions in distinct regions of the brain and the clinical features in symptomatic premutation carriers. This mouse model will facilitate the possibilities to perform studies at the molecular level from onset of symptoms until the final stage of the disease.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:12700164" +}, +{ + "id": "pmid:11468277", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/11468277", + "title": "Spectrum of FOXL2 gene mutations in blepharophimosis-ptosis-epicanthus inversus (BPES) families demonstrates a genotype--phenotype correlation.", + "type": "article-journal", + "doi": "10.1093/hmg/10.15.1591", + "authors": [ + ["E", "De Baere"], + ["M J", "Dixon"], + ["K W", "Small"], + ["E W", "Jabs"], + ["B P", "Leroy"], + ["K", "Devriendt"], + ["Y", "Gillerot"], + ["G", "Mortier"], + ["F", "Meire"], + ["L", "Van Maldergem"], + ["W", "Courtens"], + ["H", "Hjalgrim"], + ["S", "Huang"], + ["I", "Liebaers"], + ["N", "Van Regemorter"], + ["P", "Touraine"], + ["V", "Praphanphoj"], + ["A", "Verloes"], + ["N", "Udar"], + ["V", "Yellore"], + ["M", "Chalukya"], + ["S", "Yelchits"], + ["A", "De Paepe"], + ["F", "Kuttenn"], + ["M", "Fellous"], + ["R", "Veitia"], + ["L", "Messiaen"] + ], + "publisher": "Human molecular genetics", + "issn": "0964-6906", + "date": "2001-07-15", + "abstract": "Mutations in FOXL2, a forkhead transcription factor gene, have recently been shown to cause blepharophimosis-ptosis-epicanthus inversus syndrome (BPES) types I and II, a rare genetic disorder. In BPES type I a complex eyelid malformation is associated with premature ovarian failure (POF), whereas in BPES type II the eyelid defect occurs as an isolated entity. In this study, we describe the identification of novel mutations in the FOXL2 gene in BPES types I and II families, in sporadic BPES patients, and in BPES families where the type could not be established. In 67% of the patients studied, we identified a mutation in the FOXL2 gene. In total, 21 mutations (17 of which are novel) and one microdeletion were identified. Thirteen of these FOXL2 mutations are unique. In this study, we demonstrate that there is a genotype--phenotype correlation for either types of BPES by the finding that mutations predicted to result in a truncated protein either lacking or containing the forkhead domain lead to BPES type I. In contrast, duplications within or downstream of the forkhead domain, and a frameshift downstream of them, all predicted to result in an extended protein, cause BPES type II. In addition, in 30 unrelated patients with isolated POF no causal mutations were identified in FOXL2. Our study provides further evidence that FOXL2 haploinsufficiency may cause BPES types I and II by the effect of a null allele and a hypomorphic allele, respectively. Furthermore, we propose that in a fraction of the BPES patients the genetic defect does not reside within the coding region of the FOXL2 gene and may be caused by a position effect.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:11468277" +}, +{ + "id": "pmid:27283035", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/27283035", + "title": "Analysis of FOXL2 detects three novel mutations and an atypical phenotype of blepharophimosis-ptosis-epicanthus inversus syndrome.", + "type": "article-journal", + "doi": "10.1111/ceo.12783", + "authors": [ + ["Anna", "Krepelova"], + ["Martina", "Simandlova"], + ["Marketa", "Vlckova"], + ["Pavel", "Kuthan"], + ["Andrea L", "Vincent"], + ["Petra", "Liskova"] + ], + "publisher": "Clinical & experimental ophthalmology", + "issn": "1442-9071", + "date": "2016-07-01", + "abstract": "Mutations in FOXL2 are known to cause autosomal dominant blepharophimosis-ptosis-epicanthus inversus syndrome (BPES), variably associated with premature ovarian failure. In this study, we report results of mutational screening in a Czech and Slovak patient population with BPES.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:27283035" +}, +{ + "id": "pmid:33875939", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/33875939", + "title": "Identification of a novel FOXL2 mutation in a fourth-generation Chinese family with blepharophimosis-ptosis-epicanthus inversus syndrome.", + "type": "article-journal", + "doi": "10.18240/ijo.2021.04.04", + "authors": [ + ["Wei-Ning", "Rong"], + ["Mei-Jiao", "Ma"], + ["Wei", "Yang"], + ["Shi-Qin", "Yuan"], + ["Xun-Lun", "Sheng"] + ], + "publisher": "International journal of ophthalmology", + "issn": "2222-3959", + "date": "2021-04-18", + "abstract": "To characterize the genetic causes and clinical features in a four-generation Chinese family with blepharophimosis-ptosis-epicanthus inversus syndrome (BPES).", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:33875939" +}, +{ + "id": "pmid:18372316", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/18372316", + "title": "Missense mutations in the forkhead domain of FOXL2 lead to subcellular mislocalization, protein aggregation and impaired transactivation.", + "type": "article-journal", + "doi": "10.1093/hmg/ddn100", + "authors": [ + ["Diane", "Beysen"], + ["Lara", "Moumn\u00e9"], + ["Reiner", "Veitia"], + ["Hartmut", "Peters"], + ["Bart P", "Leroy"], + ["Anne", "De Paepe"], + ["Elfride", "De Baere"] + ], + "publisher": "Human molecular genetics", + "issn": "1460-2083", + "date": "2008-03-27", + "abstract": "Mutations of the FOXL2 gene have been shown to cause blepharophimosis syndrome (BPES), characterized by an eyelid malformation associated with premature ovarian failure or not. Recently, polyalanine expansions and truncating FOXL2 mutations have been shown to lead to protein mislocalization, aggregation and altered transactivation. Here, we study the molecular consequences of 17 naturally occurring FOXL2 missense mutations. Most of them map to the conserved DNA-binding forkhead domain (FHD). The subcellular localization and aggregation pattern of the mutant FOXL2 proteins in COS-7 cells was variable and ranged from a diffuse nuclear distribution like the wild-type to extensive nuclear aggregation often in combination with cytoplasmic mislocalization and aggregation. We also studied the transactivation capacity of the mutants in FOXL2 expressing granulosa-like cells (KGN). Several mutants led to a loss-of-function, while others are suspected to induce a dominant negative effect. Interestingly, one mutant that is located outside the FHD (S217F), appeared to be hypermorphic and had no effect on intracellular protein distribution. This mutation gives rise to a mild BPES phenotype. In general, missense mutations located in the FHD lead to classical BPES and cannot be correlated with expression of the ovarian phenotype. However, a potential predictive value of localization and transactivation assays in the making of genotype-phenotype correlations is proposed. This is the first study to demonstrate that a significant number of missense mutations in the FHD of FOXL2 lead to mislocalization, protein aggregation and altered transactivation, and to provide insights into the pathogenesis associated with missense mutations of FOXL2 in human disease.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:18372316" +}, +{ + "id": "pmid:22248822", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/22248822", + "title": "FOXL2 impairment in human disease.", + "type": "article-journal", + "doi": "10.1159/000335236", + "authors": [ + ["Hannah", "Verdin"], + ["Elfride", "De Baere"] + ], + "publisher": "Hormone research in paediatrics", + "issn": "1663-2826", + "date": "2012-01-12", + "abstract": "FOXL2 encodes a forkhead transcription factor that plays important roles in the ovary during development and in post-natal, adult life. Here, we focus on the clinical consequences of FOXL2 impairment in human disease. In line with other forkhead transcription factors, its constitutional genetic defects and a somatic mutation lead to developmental disease and cancer, respectively. More than 100 unique constitutional mutations and regulatory defects have been found in blepharophimosis syndrome (BPES), a complex eyelid malformation associated (type I) or not (type II) with premature ovarian failure (POF). In agreement with the BPES phenotype, FOXL2 is expressed in the developing eyelids and in fetal and adult ovaries. Two knock-out mice and at least one natural animal model, the Polled Intersex Syndrome goat, are known. They recapitulate the BPES phenotype and have provided many insights into the ovarian pathology. Only a few constitutional mutations have been described in nonsyndromic POF. Moreover, a recurrent somatic mutation p.C134W was found to be specific for adult ovarian granulo-sa cell tumors. Functional studies investigating the consequences of FOXL2 mutations or regulatory defects have shed light on the molecular pathogenesis of the aforementioned conditions, and contributed considerably to genotype-phenotype correlations. Recently, a conditional knock-out of Foxl2 in the mouse induced somatic transdifferentiation of ovary into testis in adult mice, suggesting that Foxl2 has an anti-testis function in the adult ovary. This changed our view on the ovary and testis as terminally differentiated organs in adult mammals. Finally, this might have potential implications for the understanding and treatment of frequent conditions such as POF and polycystic ovary syndrome.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:22248822" +}, +{ + "id": "pmid:9207113", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/9207113", + "title": "Synpolydactyly phenotypes correlate with size of expansions in HOXD13 polyalanine tract.", + "type": "article-journal", + "doi": "10.1073/pnas.94.14.7458", + "authors": [ + ["F R", "Goodman"], + ["S", "Mundlos"], + ["Y", "Muragaki"], + ["D", "Donnai"], + ["M L", "Giovannucci-Uzielli"], + ["E", "Lapi"], + ["F", "Majewski"], + ["J", "McGaughran"], + ["C", "McKeown"], + ["W", "Reardon"], + ["J", "Upton"], + ["R M", "Winter"], + ["B R", "Olsen"], + ["P J", "Scambler"] + ], + "publisher": "Proceedings of the National Academy of Sciences of the United States of America", + "issn": "0027-8424", + "date": "1997-07-08", + "abstract": "Synpolydactyly (SPD) is a dominantly inherited congenital limb malformation. Typical cases have 3/4 finger and 4/5 toe syndactyly, with a duplicated digit in the syndactylous web, but incomplete penetrance and variable expressivity are common. The condition has recently been shown to be caused by expansions of an imperfect trinucleotide repeat sequence encoding a 15-residue polyalanine tract in HOXD13. We have studied 16 new and 4 previously published SPD families, with between 7 and 14 extra residues in the tract, to analyze the molecular basis for the observed variation in phenotype. Although there is no evidence of change in expansion size within families, even over six generations, there is a highly significant increase in the penetrance and severity of phenotype with increasing expansion size, affecting both hands (P = 0.012) and feet (P < 0. 00005). Affected individuals from a family with a 14-alanine expansion, the largest so far reported, all have a strikingly similar and unusually severe limb phenotype, involving the first digits and distal carpals. Affected males from this family also have hypospadias, not previously described in SPD, but consistent with HOXD13 expression in the developing genital tubercle. The remarkable correlation between phenotype and expansion size suggests that expansion of the tract leads to a specific gain of function in the mutant HOXD13 protein, and has interesting implications for the role of polyalanine tracts in the control of transcription.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:9207113" +}, +{ + "id": "pmid:28339400", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/28339400", + "title": "A Systematic Review of the Huntington Disease-Like 2 Phenotype.", + "type": "article-journal", + "doi": "10.3233/jhd-160232", + "authors": [ + ["David G", "Anderson"], + ["Ruth H", "Walker"], + ["Myles", "Connor"], + ["Jonathan", "Carr"], + ["Russell L", "Margolis"], + ["Amanda", "Krause"] + ], + "publisher": "Journal of Huntington's disease", + "issn": "1879-6400", + "date": "2017-01-01", + "abstract": "Huntington Disease-like 2 (HDL2) is a neurodegenerative disorder similar to Huntington Disease (HD) in its clinical phenotype, genetic characteristics, neuropathology and longitudinal progression. Proposed specific differences include an exclusive African ancestry, lack of eye movement abnormalities, increased Parkinsonism, and acanthocytes in HDL2.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:28339400" +}, +{ + "id": "pmid:12140665", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/12140665", + "title": "A Dutch family with 'familial cortical tremor with epilepsy'. Clinical characteristics and exclusion of linkage to chromosome 8q23.3-q24.1.", + "type": "article-journal", + "doi": "10.1007/s00415-002-0729-x", + "authors": [ + ["Fleur", "van Rootselaar"], + ["Petra M C", "Callenbach"], + ["Jouke J", "Hottenga"], + ["Frans L M G", "Vermeulen"], + ["Hans D", "Speelman"], + ["Oebele F", "Brouwer"], + ["Marina A J", "Tijssen"] + ], + "publisher": "Journal of neurology", + "issn": "0340-5354", + "date": "2002-07-01", + "abstract": "To describe the clinical characteristics of a large Dutch family with cortical tremor with epilepsy (FCTE) and to test for genetic linkage of FCTE to chromosome 8q23.3-q24.1.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:12140665" +}, +{ + "id": "pmid:19620283", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/19620283", + "title": "Evidence that the AAA+ proteins TIP48 and TIP49 bridge interactions between 15.5K and the related NOP56 and NOP58 proteins during box C/D snoRNP biogenesis.", + "type": "article-journal", + "doi": "10.1128/mcb.00752-09", + "authors": [ + ["Kenneth Scott", "McKeegan"], + ["Charles Maurice", "Debieux"], + ["Nicholas James", "Watkins"] + ], + "publisher": "Molecular and cellular biology", + "issn": "1098-5549", + "date": "2009-07-20", + "abstract": "The box C/D small nucleolar RNPs (snoRNPs) are essential for the processing and modification of rRNA. TIP48 and TIP49 are two related AAA(+) proteins that are essential for the formation of box C/D snoRNPs. These proteins are key components of the pre-snoRNP complexes, but their exact role in box C/D snoRNP biogenesis is largely uncharacterized. Here we report that TIP48 and TIP49 interact with one another in vitro, and only the TIP48/TIP49 complex, but not the individual proteins, possesses significant ATPase activity. Loss of TIP48 and TIP49 results in a change in pre-snoRNA levels and a loss of U3 snoRNA signal in the Cajal body. We show that TIP48 and TIP49 make multiple interactions with core snoRNP proteins and biogenesis factors and that these interactions are often regulated by the presence of ATP. Furthermore, we demonstrate that TIP48 and TIP49 efficiently bridge interactions between the core box C/D proteins NOP56 or NOP58 and 15.5K. Our data imply that the snoRNP assembly factor NUFIP can regulate the interactions between TIP48 and TIP49 and the core box C/D proteins. We suggest that snoRNP assembly involves an intricate series of interactions that are mediated/regulated by bridging factors and chaperones.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:19620283" +}, +{ + "id": "pmid:9392020", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/9392020", + "title": "Using the full power of linkage analysis in 11 French Canadian families to fine map the oculopharyngeal muscular dystrophy gene.", + "type": "article-journal", + "doi": "10.1016/s0960-8966(97)00086-2", + "authors": [ + ["B", "Brais"], + ["J P", "Bouchard"], + ["F", "Gosselin"], + ["Y G", "Xie"], + ["M", "Fardeau"], + ["F M", "Tom\u00e9"], + ["G A", "Rouleau"] + ], + "publisher": "Neuromuscular disorders : NMD", + "issn": "0960-8966", + "date": "1997-10-01", + "abstract": "Oculopharyngeal muscular dystrophy (OPMD) is a late onset autosomal dominant muscular dystrophy with a high prevalence in the French Canadian population. We report linkage analysis with 7 chromosome 14q polymorphic markers in 11 large French Canadian families. An observed recombination in one family establishes D14S283 as the new centromeric flanking marker, therefore reducing the previously reported candidate interval from 5cM to 2cM. The highest two-point LOD score was 26.05 at theta = 0.01 for MYH7.1. Multipoint analysis suggested that the OPMD genes lies within a 1.5cM region around D14S990. This study of large French Canadian families underlines the great power of this population to fine map disease genes.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:9392020" +}, +{ + "id": "pmid:39102614", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/39102614", + "title": "Clinical, Histopathologic, and Genetic Features of Patients With Myofibrillary and Distal Myopathies: Experience From the Italian Network.", + "type": "article-journal", + "doi": "10.1212/wnl.0000000000209697", + "authors": [ + ["Sara", "Bortolani"], + ["Marco", "Savarese"], + ["Gaetano", "Vattemi"], + ["Silvia", "Bonanno"], + ["Yuri M", "Falzone"], + ["Alessia", "Pugliese"], + ["Guido", "Primiano"], + ["Cristina", "Sancricca"], + ["Diego", "Lopergolo"], + ["Giulia", "Greco"], + ["Chiara", "Gemelli"], + ["Sabrina", "Ravaglia"], + ["Roberta P", "Bencivenga"], + ["Daniele", "Velardo"], + ["Francesca", "Magri"], + ["Maria L", "Valentino"], + ["Marta", "Cheli"], + ["Eleonora", "Torchia"], + ["Matteo", "Lucchini"], + ["Antonio", "Petrucci"], + ["Giulia", "Ricci"], + ["Matteo", "Garibaldi"], + ["Guja", "Astrea"], + ["Anna", "Rubegni"], + ["Corrado I", "Angelini"], + ["Alessandra", "Ariatti"], + ["Filippo M", "Santorelli"], + ["Alessandra", "Ruggieri"], + ["Giovanni", "Antonini"], + ["Gabriele", "Siciliano"], + ["Massimiliano", "Filosto"], + ["Massimiliano", "Mirabella"], + ["Rocco", "Liguori"], + ["Giacomo P", "Comi"], + ["Lucia", "Ruggiero"], + ["Marina", "Grandis"], + ["Roberto", "Massa"], + ["Alessandro", "Malandrini"], + ["Serenella", "Servidei"], + ["Tiziana E", "Mongini"], + ["Carmelo", "Rodolico"], + ["Antonio", "Toscano"], + ["Stefano C", "Previtali"], + ["Paola", "Tonin"], + ["Jordi", "Diaz-Manera"], + ["Mauro", "Monforte"], + ["Enzo", "Ricci"], + ["Lorenzo", "Maggi"], + ["Giorgio", "Tasca"] + ], + "publisher": "Neurology", + "issn": "1526-632X", + "date": "2024-08-05", + "abstract": "The diagnostic process for myofibrillar myopathies (MFM) and distal myopathies (DM) is particularly complex because of the large number of causative genes, the existence of still molecularly undefined disease entities, and the overlapping features between the 2 categories. This study aimed to characterize a large cohort of patients affected by MFM and DM and identify the most important diagnostic and prognostic aspects of these diseases.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:39102614" +}, +{ + "id": "pmid:29887139", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/29887139", + "title": "Genetic Creutzfeldt-Jakob disease.", + "type": "article-journal", + "doi": "10.1016/b978-0-444-63945-5.00013-1", + "authors": [ + ["Anna", "Ladogana"], + ["Gabor G", "Kovacs"] + ], + "publisher": "Handbook of clinical neurology", + "issn": "0072-9752", + "date": "2018-01-01", + "abstract": "Genetic Creutzfeldt-Jakob disease (CJD) is associated with mutations in the human PrP gene (PRNP) on chromosome 20p12-pter. Pathogenic mutations have been identified in 10-15% of all CJD patients, who often have a family history of autosomal-dominant pattern of inheritance and variable penetrance. However, the use of genetic tests implemented by surveillance networks all over the world increasingly identifies unexpectedly PRNP mutations in persons apparently presenting with a sporadic form of CJD. A high phenotypic variability was reported in genetic prion diseases, which partly overlap with the features of sporadic CJD. Here we review recent advances on the epidemiologic, clinical, and neuropathologic features of cases that phenotypically resemble CJD linked to point and insert mutations of the PRNP gene. Multidisciplinary studies are still required to understand the phenotypic spectrum, penetrance, and significance of PRNP mutations.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:29887139" +}, +{ + "id": "pmid:25852448", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/25852448", + "title": "A Glutamine Repeat Variant of the RUNX2 Gene Causes Cleidocranial Dysplasia.", + "type": "article-journal", + "doi": "10.1159/000370337", + "authors": [ + ["Masaki", "Mastushita"], + ["Hiroshi", "Kitoh"], + ["Asli", "Subasioglu"], + ["Fatma", "Kurt Colak"], + ["Munis", "Dundar"], + ["Kenichi", "Mishima"], + ["Yoshihiro", "Nishida"], + ["Naoki", "Ishiguro"] + ], + "publisher": "Molecular syndromology", + "issn": "1661-8769", + "date": "2015-01-29", + "abstract": "Cleidocranial dysplasia (CCD), an autosomal dominant skeletal dysplasia characterized by hypoplastic clavicles and delayed closure of the cranial sutures, is caused by mutations of the runt-related transcription factor 2 (RUNX2) gene. The RUNX2 gene consists of a glutamine and alanine repeat domain (Q/A domain, 23Q/17A), a DNA-binding Runt domain and a proline/serine/threonine-rich domain. We report on a familial case of CCD with a novel mutation within the Q/A domain of the RUNX2 gene, which is an insertion in exon 1 (p.Q71_E72insQQQQ) representing the Q-repeat variant (27Q/17A). Functional analysis of the 27Q variant revealed abolished transactivation capacity of the mutated RUNX2 protein. This is the first case report that demonstrated a glutamine repeat variant of the RUNX2 gene causes CCD.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:25852448" +}, +{ + "id": "pmid:23505376", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/23505376", + "title": "Mechanistic insight into the pathology of polyalanine expansion disorders revealed by a mouse model for X linked hypopituitarism.", + "type": "article-journal", + "doi": "10.1371/journal.pgen.1003290", + "authors": [ + ["James", "Hughes"], + ["Sandra", "Piltz"], + ["Nicholas", "Rogers"], + ["Dale", "McAninch"], + ["Lynn", "Rowley"], + ["Paul", "Thomas"] + ], + "publisher": "PLoS genetics", + "issn": "1553-7404", + "date": "2013-03-07", + "abstract": "Polyalanine expansions in transcription factors have been associated with eight distinct congenital human diseases. It is thought that in each case the polyalanine expansion causes misfolding of the protein that abrogates protein function. Misfolded proteins form aggregates when expressed in vitro; however, it is less clear whether aggregation is of relevance to these diseases in vivo. To investigate this issue, we used targeted mutagenesis of embryonic stem (ES) cells to generate mice with a polyalanine expansion mutation in Sox3 (Sox3-26ala) that is associated with X-linked Hypopituitarism (XH) in humans. By investigating both ES cells and chimeric mice, we show that endogenous polyalanine expanded SOX3 does not form protein aggregates in vivo but rather is present at dramatically reduced levels within the nucleus of mutant cells. Importantly, the residual mutant protein of chimeric embryos is able to rescue a block in gastrulation but is not sufficient for normal development of the hypothalamus, a region that is functionally compromised in Sox3 null embryos and individuals with XH. Together, these data provide the first definitive example of a disease-relevant PA mutant protein that is both nuclear and functional, thereby manifesting as a partial loss-of-function allele.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:23505376" +}, +{ + "id": "pmid:30973967", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/30973967", + "title": "A hexanucleotide repeat modifies expressivity of X-linked dystonia parkinsonism.", + "type": "article-journal", + "doi": "10.1002/ana.25488", + "authors": [ + ["Ana", "Westenberger"], + ["Charles Jourdan", "Reyes"], + ["Gerard", "Saranza"], + ["Valerija", "Dobricic"], + ["Henrike", "Hanssen"], + ["Aloysius", "Domingo"], + ["Bj\u00f6rn-Hergen", "Laabs"], + ["Susen", "Schaake"], + ["Jelena", "Pozojevic"], + ["Aleksandar", "Rakovic"], + ["Karen", "Gr\u00fctz"], + ["Kimberly", "Begemann"], + ["Uwe", "Walter"], + ["Dirk", "Dressler"], + ["Peter", "Bauer"], + ["Arndt", "Rolfs"], + ["Alexander", "M\u00fcnchau"], + ["Frank J", "Kaiser"], + ["Laurie J", "Ozelius"], + ["Roland Dominic", "Jamora"], + ["Raymond L", "Rosales"], + ["Cid Czarina E", "Diesta"], + ["Katja", "Lohmann"], + ["Inke R", "K\u00f6nig"], + ["Norbert", "Br\u00fcggemann"], + ["Christine", "Klein"] + ], + "publisher": "Annals of neurology", + "issn": "1531-8249", + "date": "2019-05-03", + "abstract": "X-linked dystonia parkinsonism (XDP) is a neurodegenerative movement disorder caused by a single mutation: SINE-VNTR-Alu (SVA) retrotransposon insertion in TAF1. Recently, a (CCCTCT)", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:30973967" +}, +{ + "id": "pmid:29474918", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/29474918", + "title": "Dissecting the Causal Mechanism of X-Linked Dystonia-Parkinsonism by Integrating Genome and Transcriptome Assembly.", + "type": "article-journal", + "doi": "10.1016/j.cell.2018.02.011", + "authors": [ + ["Tatsiana", "Aneichyk"], + ["William T", "Hendriks"], + ["Rachita", "Yadav"], + ["David", "Shin"], + ["Dadi", "Gao"], + ["Christine A", "Vaine"], + ["Ryan L", "Collins"], + ["Aloysius", "Domingo"], + ["Benjamin", "Currall"], + ["Alexei", "Stortchevoi"], + ["Trisha", "Multhaupt-Buell"], + ["Ellen B", "Penney"], + ["Lilian", "Cruz"], + ["Jyotsna", "Dhakal"], + ["Harrison", "Brand"], + ["Carrie", "Hanscom"], + ["Caroline", "Antolik"], + ["Marisela", "Dy"], + ["Ashok", "Ragavendran"], + ["Jason", "Underwood"], + ["Stuart", "Cantsilieris"], + ["Katherine M", "Munson"], + ["Evan E", "Eichler"], + ["Patrick", "Acu\u00f1a"], + ["Criscely", "Go"], + ["R Dominic G", "Jamora"], + ["Raymond L", "Rosales"], + ["Deanna M", "Church"], + ["Stephen R", "Williams"], + ["Sarah", "Garcia"], + ["Christine", "Klein"], + ["Ulrich", "M\u00fcller"], + ["Kirk C", "Wilhelmsen"], + ["H T Marc", "Timmers"], + ["Yechiam", "Sapir"], + ["Brian J", "Wainger"], + ["Daniel", "Henderson"], + ["Naoto", "Ito"], + ["Neil", "Weisenfeld"], + ["David", "Jaffe"], + ["Nutan", "Sharma"], + ["Xandra O", "Breakefield"], + ["Laurie J", "Ozelius"], + ["D Cristopher", "Bragg"], + ["Michael E", "Talkowski"] + ], + "publisher": "Cell", + "issn": "1097-4172", + "date": "2018-02-22", + "abstract": "X-linked Dystonia-Parkinsonism (XDP) is a Mendelian\u00a0neurodegenerative disease that is endemic to the Philippines and is associated with a founder haplotype. We integrated multiple genome and transcriptome assembly technologies to narrow the causal mutation to the TAF1 locus, which included a SINE-VNTR-Alu (SVA) retrotransposition into intron 32 of the gene. Transcriptome analyses identified decreased expression of the canonical cTAF1 transcript among XDP probands, and de novo assembly\u00a0across multiple pluripotent stem-cell-derived neuronal lineages discovered aberrant TAF1 transcription that involved alternative splicing and intron retention (IR) in proximity to the SVA that was anti-correlated with overall TAF1 expression. CRISPR/Cas9 excision of the SVA rescued this XDP-specific\u00a0transcriptional signature and normalized TAF1 expression in probands. These data suggest an SVA-mediated aberrant transcriptional mechanism associated with XDP and may provide a roadmap for layered technologies and integrated assembly-based analyses for other unsolved Mendelian disorders.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:29474918" +}, +{ + "id": "pmid:39502942", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/39502942", + "title": "Autosomal recessive", + "type": "article-journal", + "doi": "10.1093/braincomms/fcae377", + "authors": [ + ["Sara", "Nagy"], + ["Alistair T", "Pagnamenta"], + ["Elisa", "Cali"], + ["Hilde M H", "Braakman"], + ["Juerd", "Wijntjes"], + ["Benno", "Kusters"], + ["Marc", "Gotkine"], + ["Orly", "Elpeleg"], + ["Vardiella", "Meiner"], + ["Jerica", "Lenberg"], + ["Kristen", "Wigby"], + ["Jennifer", "Friedman"], + ["Luke D", "Perry"], + ["Alexander M", "Rossor"], + ["Anna", "Uhrova Meszarosova"], + ["Dana", "Thomasova"], + ["Saiju", "Jacob"], + ["Mary", "O'Driscoll"], + ["Lenika", "De Simone"], + ["Dorothy K", "Grange"], + ["Richard", "Sommerville"], + ["Zahra", "Firoozfar"], + ["Shahryar", "Alavi"], + ["Mahta", "Mazaheri"], + ["Jevin M", "Parmar"], + ["Phillipa J", "Lamont"], + ["Veronica", "Pini"], + ["Anna", "Sarkozy"], + ["Francesco", "Muntoni"], + ["Gianina", "Ravenscroft"], + ["Eppie", "Jones"], + ["Declan", "O'Rourke"], + ["Melissa", "Nel"], + ["Jeannine M", "Heckmann"], + ["Michelle", "Kvalsund"], + ["Musambo M", "Kapapa"], + ["Somwe", "Wa Somwe"], + ["David R", "Bearden"], + ["Arman", "\u00c7akar"], + ["Anne-Marie", "Childs"], + ["Rita", "Horvath"], + ["Mary M", "Reilly"], + ["Henry", "Houlden"], + ["Reza", "Maroofian"] + ], + "publisher": "Brain communications", + "issn": "2632-1297", + "date": "2024-10-28", + "abstract": "A newly identified subtype of hereditary axonal motor neuropathy, characterized by early proximal limb involvement, has been discovered in a cohort of 34 individuals with biallelic variants in von Willebrand factor A domain-containing 1 (", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:39502942" +}, +{ + "id": "pmid:38652110", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/38652110", + "title": "Proteomic studies in VWA1-related neuromyopathy allowed new pathophysiological insights and the definition of blood biomarkers.", + "type": "article-journal", + "doi": "10.1111/jcmm.18122", + "authors": [ + ["Mohammed", "Athamneh"], + ["Nassam", "Daya"], + ["Andreas", "Hentschel"], + ["Andrea", "Gangfuss"], + ["Tobias", "Ruck"], + ["Adela Della", "Marina"], + ["Ulrike", "Schara-Schmidt"], + ["Albert", "Sickmann"], + ["Anne-Katrin", "G\u00fcttsches"], + ["Marcus", "Deschauer"], + ["Corinna", "Preusse"], + ["Matthias", "Vorgerd"], + ["Andreas", "Roos"] + ], + "publisher": "Journal of cellular and molecular medicine", + "issn": "1582-4934", + "date": "2024-04-01", + "abstract": "Bi-allelic variants in VWA1, encoding Von Willebrand Factor A domain containing 1 protein localized to the extracellular matrix (ECM), were linked to a neuromuscular disorder with manifestation in child- or adulthood. Clinical findings indicate a neuromyopathy presenting with muscle weakness. Given that pathophysiological processes are still incompletely understood, and biomarkers are still missing, we aimed to identify blood biomarkers of pathophysiological relevance: white blood cells (WBC) and plasma derived from six VWA1-patients were investigated by proteomics. Four proteins, BET1, HNRNPDL, NEFM and PHGDH, known to be involved in neurological diseases and dysregulated in WBC were further validated by muscle-immunostainings unravelling HNRNPDL as a protein showing differences between VWA1-patients, healthy controls and patients suffering from neurogenic muscular atrophy and BICD2-related neuromyopathy. Immunostaining studies of PHGDH indicate its involvement in apoptotic processes via co-localisation with caspase-3. NEFM showed an increase in cells within the ECM in biopsies of all patients studied. Plasma proteomics unravelled dysregulation of 15 proteins serving as biomarker candidates among which a profound proportion of increased ones (6/11) are mostly related to antioxidative processes and have even partially been described as blood biomarkers for other entities of neuromuscular disorders before. CRP elevated in plasma also showed an increase in the extracellular space of VWA1-mutant muscle. Results of our combined studies for the first time describe pathophysiologically relevant biomarkers for VWA1-related neuromyopathy and suggest that VWA1-patient derived blood might hold the potential to study disease processes of clinical relevance, an important aspect for further preclinical studies.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:38652110" +}, +{ + "id": "pmid:12796826", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/12796826", + "title": "Refinement of the spinocerebellar ataxia type 4 locus in a large German family and exclusion of CAG repeat expansions in this region.", + "type": "article-journal", + "doi": "10.1007/s00415-003-1052-x", + "authors": [ + ["Y", "Hellenbroich"], + ["S", "Bubel"], + ["H", "Pawlack"], + ["S", "Opitz"], + ["P", "Vieregge"], + ["E", "Schwinger"], + ["C", "Z\u00fchlke"] + ], + "publisher": "Journal of neurology", + "issn": "0340-5354", + "date": "2003-06-01", + "abstract": "Spinocerebellar ataxia type 4 (SCA4) is an autosomal dominant disorder mapped to chromosome 16q22.1 in a large Utah kindred. The clinical phenotype is characterized by cerebellar ataxia with sensory neuropathy. We describe a five-generation family from northern Germany with similar clinical findings linked to the same locus. Haplotype analyses refined the gene locus to a 3.69 cM interval between D16S3019 and D16S512. Analysis of nine CAG/CTG tracts in this region revealed no evidence for a repeat expansion.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:12796826" +}, +{ + "id": "pmid:29391420", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/29391420", + "title": "Link between the causative genes of holoprosencephaly: Zic2 directly regulates Tgif1 expression.", + "type": "article-journal", + "doi": "10.1038/s41598-018-20242-2", + "authors": [ + ["Akira", "Ishiguro"], + ["Minoru", "Hatayama"], + ["Maky I", "Otsuka"], + ["Jun", "Aruga"] + ], + "publisher": "Scientific reports", + "issn": "2045-2322", + "date": "2018-02-01", + "abstract": "One of the causal genes for holoprosencephaly (HPE) is ZIC2 (HPE5). It belongs to the zinc finger protein of the cerebellum (Zic) family of genes that share a C2H2-type zinc finger domain, similar to the GLI family of genes. In order to clarify the role of Zic2 in gene regulation, we searched for its direct target genes using chromatin immunoprecipitation (ChIP). We identified TGIF1 (HPE4), another holoprosencephaly-causative gene in humans. We identified Zic2-binding sites (ZBS) on the 5' flanking region of Tgif1 by in vitro DNA binding assays. ZBS were essential for Zic2-dependent transcriptional activation in reporter gene assays. Zic2 showed a higher affinity to ZBS than GLI-binding sequences. Zic2-binding to the cis-regulatory element near the Tgif1 promoter may be involved in the mechanism underlying forebrain development and incidences of HPE.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:29391420" +}, +{ + "id": "pmid:42033229", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/42033229", + "title": "Dual role of ZIC2 during neural induction: from priming transcription factor to enhancer activator.", + "type": "article-journal", + "doi": "10.1093/nar/gkag374", + "authors": [ + ["Mar\u00eda", "Mariner-Faul\u00ed"], + ["V\u00edctor", "S\u00e1nchez-Gaya"], + ["Sarah Malika", "Robert"], + ["Patricia", "Respuela"], + ["Sara", "de la Cruz-Molina"], + ["Sara", "Lobato-Moreno"], + ["Matteo", "Trovato"], + ["Karin D", "Prummel"], + ["Kyung-Min", "Noh"], + ["Judith B", "Zaugg"], + ["\u00c1lvaro", "Rada-Iglesias"] + ], + "publisher": "Nucleic acids research", + "issn": "1362-4962", + "date": "2026-04-23", + "abstract": "Defects in ZIC2, a member of the Zinc Finger of the Cerebellum family of transcription factors (TFs), cause holoprosencephaly, a congenital brain malformation characterized by the defective cleavage of cerebral hemispheres. However, the gene regulatory network (GRN) controlled by ZIC2 during neural development remains largely unexplored. Here, we combined a mouse embryonic stem cell (mESC) in vitro differentiation model toward anterior neural progenitors with genome editing and genomic methods to elucidate the ZIC2 GRN. We found that ZIC2 is dispensable in mESC due to compensation by ZIC3. In contrast, during neural induction ZIC2 directly controls the expression of master regulators implicated in the patterning and morphogenesis of specific brain regions (e.g. midbrain and roof plate). Mechanistically, ZIC2 plays a dual role in neural differentiation: during pluripotency exit, ZIC2 binds de novo to distal enhancers and increases their chromatin accessibility; during neural induction, ZIC2 is essential for the activation of a subset of the previously primed enhancers, which in turn control the expression of neural patterning regulators and signalling pathways (i.e. WNT) that prevent premature neuronal differentiation. Therefore, by sequentially acting as a promiscuous priming TF and selective enhancer activator, ZIC2 canalizes pluripotent cells toward neural progenitors with rostro-dorsal identities.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:42033229" +}, +{ + "id": "pmid:10677508", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/10677508", + "title": "Zic2 regulates the kinetics of neurulation.", + "type": "article-journal", + "doi": "10.1073/pnas.97.4.1618", + "authors": [ + ["T", "Nagai"], + ["J", "Aruga"], + ["O", "Minowa"], + ["T", "Sugimoto"], + ["Y", "Ohno"], + ["T", "Noda"], + ["K", "Mikoshiba"] + ], + "publisher": "Proceedings of the National Academy of Sciences of the United States of America", + "issn": "0027-8424", + "date": "2000-02-15", + "abstract": "Mutation in human ZIC2, a zinc finger protein homologous to Drosophila odd-paired, causes holoprosencephaly (HPE), which is a common, severe malformation of the brain in humans. However, the pathogenesis is largely unknown. Here we show that reduced expression (knockdown) of mouse Zic2 causes neurulation delay, resulting in HPE and spina bifida. Differentiation of the most dorsal neural plate, which gives rise to both roof plate and neural crest cells, also was delayed as indicated by the expression lag of a roof plate marker, Wnt3a. In addition the development of neural crest derivatives such as dorsal root ganglion was impaired. These results suggest that the Zic2 expression level is crucial for the timing of neurulation. Because the Zic2 knockdown mouse is the first mutant with HPE and spina bifida to survive to the perinatal period, the mouse will promote analyses of not only the neurulation but also the pathogenesis of human HPE.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:10677508" +}, +{ + "id": "pmid:18617531", + "manubot_success": true, + "link": "https://www.ncbi.nlm.nih.gov/pubmed/18617531", + "title": "Zic2-associated holoprosencephaly is caused by a transient defect in the organizer region during gastrulation.", + "type": "article-journal", + "doi": "10.1093/hmg/ddn197", + "authors": [ + ["Nicholas", "Warr"], + ["Nicola", "Powles-Glover"], + ["Anna", "Chappell"], + ["Joan", "Robson"], + ["Dominic", "Norris"], + ["Ruth M", "Arkell"] + ], + "publisher": "Human molecular genetics", + "issn": "1460-2083", + "date": "2008-07-09", + "abstract": "The putative transcription factor ZIC2 is associated with a defect of forebrain development, known as Holoprosencephaly (HPE), in humans and mouse, yet the mechanism by which aberrant ZIC2 function causes classical HPE is unexplained. The zinc finger domain of all mammalian Zic genes is highly homologous with that of the Gli genes, which are transcriptional mediators of Shh signalling. Mutations in Shh and many other Hh pathway members cause HPE and it has been proposed that Zic2 acts within the Shh pathway to cause HPE. We have investigated the embryological cause of Zic2-associated HPE and the relationship between Zic2 and the Shh pathway using mouse genetics. We show that Zic2 does not interact with Shh to produce HPE. Moreover, molecular defects that are able to account for the HPE phenotype are present in Zic2 mutants before the onset of Shh signalling. Mutation of Zic2 causes HPE via a transient defect in the function of the organizer region at mid-gastrulation which causes an arrest in the development of the prechordal plate (PCP), a structure required for forebrain midline morphogenesis. The analysis provides genetic evidence that Zic2 functions during organizer formation and that the PCP develops via a multi-step process.", + "language": "en", + "note": "This CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: pubmed:18617531" +}, +{ + "id": "genereviews:NBK1256", + "manubot_success": true, + "link": "http://www.ncbi.nlm.nih.gov/books/NBK1256/", + "title": "Spinocerebellar Ataxia Type 7", + "type": "chapter", + "doi": "", + "authors": [ + ["Albert R.", "La Spada"] + ], + "publisher": "GeneReviews\u00ae", + "issn": "", + "date": "1993-01-01", + "abstract": "Spinocerebellar ataxia type 7 (SCA7) comprises a phenotypic spectrum ranging from adolescent- or adult-onset progressive cerebellar ataxia and cone-rod retinal dystrophy to infantile or early-childhood onset with multiorgan failure, an accelerated course, and early death. Anticipation in this nucleotide repeat disorder may be so dramatic that within a family a child with infantile or early-childhood onset may be diagnosed with what is thought to be an unrelated neurodegenerative disorder years before a parent or grandparent with a CAG repeat expansion becomes symptomatic. In adolescent-onset SCA7, the initial manifestation is typically impaired vision, followed by cerebellar ataxia. In those with adult onset, progressive cerebellar ataxia usually precedes the onset of visual manifestations. While the rate of progression varies in these two age groups, the eventual result for almost all affected individuals is loss of vision, severe dysarthria and dysphagia, and a bedridden state with loss of motor control., The diagnosis of SCA7 is established in a proband by the identification of a heterozygous abnormal CAG trinucleotide repeat expansion in ATXN7 by molecular genetic testing., Treatment of manifestations: Multidisciplinary care involves supportive treatment of: neurologic manifestations \u2013 physical and occupational therapy to help maintain mobility and function, and pharmacologic treatment to reduce symptoms; dysarthria \u2013 speech and language therapy and alternative communication methods; dysphagia \u2013 feeding therapy to improve nutrition and reduce the risk of aspiration; and reduced vision \u2013 use of low vision aids and consultation with agencies for the visually impaired. Surveillance: Routine follow up with multidisciplinary care providers. Agents/circumstances to avoid: Avoid: alcohol intake (especially if excessive) as it can further impair cerebellar function; foods identified by a registered dietitian as possible causes of dizziness or disorientation. Therapies under investigation: Several ongoing clinical trials for medications used as treatment for ataxia., SCA7 is inherited in an autosomal dominant manner. Offspring of an affected individual have a 50% chance of inheriting an abnormal CAG repeat expansion in ATXN7. Once an ATXN7 CAG repeat expansion has been identified in an affected family member, prenatal testing for a pregnancy at increased risk and preimplantation genetic testing for SCA7 are possible.", + "language": "eng", + "note": "PMID: 20301433\nThis CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: url:https://www.ncbi.nlm.nih.gov/books/NBK1256" +}, +{ + "id": "genereviews:NBK564656", + "manubot_success": true, + "link": "http://www.ncbi.nlm.nih.gov/books/NBK564656/", + "title": "RFC1 CANVAS\u00a0/ Spectrum Disorder", + "type": "chapter", + "doi": "", + "authors": [ + ["Andrea", "Cortese"], + ["Mary M.", "Reilly"], + ["Henry", "Houlden"] + ], + "publisher": "GeneReviews\u00ae", + "issn": "", + "date": "1993-01-01", + "abstract": "The phenotypic spectrum associated with biallelic RFC1 AAGGG repeat expansion encompasses a range including (1) typical cerebellar ataxia, neuropathy, vestibular areflexia syndrome (CANVAS); (2) cerebellar, sensory, and vestibular impairment; (3) more limited phenotypes involving predominantly or exclusively one of the systems involved in balance control; (4) autonomic dysfunction; and (5) cough. Onset begins after age 35 years. In a retrospective study of 100 affected individuals after ten years of disease duration, two thirds had clinical features of CANVAS; 16 had a complex sensory ataxia with cerebellar or vestibular involvement; and 15 had a sensory neuropathy as the only clinically detectable manifestation., The diagnosis of RFC1 CANVAS\u00a0/ spectrum disorder is established in a proband with suggestive findings and biallelic intronic AAGGG pentanucleotide expansions in RFC1 identified by molecular genetic testing that is targeted to detect these expansions. Note that pathogenic RFC1 AAGGG repeat expansions cannot be detected by sequence-based multigene panels or exome sequencing. However, they can be suspected by genome sequencing., Treatment of manifestations: The goals of treatment are to maximize function and reduce complications. Depending on the clinical manifestations, each affected individual should be managed by a multidisciplinary team of relevant specialists such as neurologists, occupational therapists, physical therapists, physiatrists, and (depending on individual needs) speech therapists, respiratory therapists, nutritionists, and gastroenterologists. Surveillance: Routine follow up by multidisciplinary specialists to assess: progression of neurologic findings; mobility, self-help skills; need for alternative communication methods; and aspiration risk and feeding methods. Agents/circumstances to avoid: Medications of known toxicity for peripheral nerves (e.g., neurotoxic chemotherapy agents, pyridoxine), the cerebellum (e.g., phenytoin), or the vestibular system (e.g., aminoglycosides); chronic alcohol consumption., RFC1 CANVAS / spectrum disorder is inherited in an autosomal recessive manner. If both parents are known to be heterozygous for an RFC1 AAGGG repeat expansion, each sib of an affected individual has at conception a 25% chance of being affected, a 50% chance of being an asymptomatic carrier, and a 25% chance of being unaffected and not a carrier. Once biallelic RFC1 AAGGG repeat expansions have been identified in an affected family member, carrier testing for at-risk relatives, prenatal testing for a pregnancy at increased risk, and preimplantation genetic testing are possible.", + "language": "eng", + "note": "PMID: 33237689\nThis CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: url:https://www.ncbi.nlm.nih.gov/books/NBK564656" +}, +{ + "id": "genereviews:NBK1513", + "manubot_success": true, + "link": "http://www.ncbi.nlm.nih.gov/books/NBK1513/", + "title": "Cleidocranial Dysplasia Spectrum Disorder", + "type": "chapter", + "doi": "", + "authors": [ + ["Keren", "Machol"], + ["Roberto", "Mendoza-Londono"], + ["Brendan", "Lee"] + ], + "publisher": "GeneReviews\u00ae", + "issn": "", + "date": "1993-01-01", + "abstract": "Cleidocranial dysplasia (CCD) spectrum disorder is a skeletal dysplasia that represents a clinical continuum ranging from classic CCD (triad of delayed closure of the cranial sutures, hypoplastic or aplastic clavicles, and dental abnormalities), to mild CCD, to isolated dental anomalies without other skeletal features. Individuals with classic CCD spectrum disorder typically have abnormally large, wide-open fontanelles at birth that may remain open throughout life. Clavicular hypoplasia can result in narrow, sloping shoulders that can be opposed at the midline. Moderate short stature may be observed, with most affected individuals being shorter than their unaffected sibs. Dental anomalies may include delayed eruption of secondary dentition, failure to shed the primary teeth, and supernumerary teeth. Individuals with CCD spectrum disorder are at increased risk of developing recurrent sinus infections, recurrent ear infections leading to conductive hearing loss, and upper airway obstruction. Intelligence is typically normal., The diagnosis of CCD spectrum disorder is established in an individual with typical clinical and radiographic findings and/or a heterozygous pathogenic variant in RUNX2 identified by molecular genetic testing., Treatment of manifestations: If the cranial vault defect is significant, the head needs protection from blunt trauma; helmets may be used for high-risk activities. Surgical cosmesis for depressed forehead or lengthening of hypoplastic clavicles can be considered. Careful planning of anesthetic management due to craniofacial and dental abnormalities. Consultation with an otolaryngologist to assist in securing the airway. Consideration of alternative anesthetic approaches, including neuraxial block, taking into account possible spine abnormalities. If bone density is below normal, treatment with calcium and vitamin D supplementation. Dental procedures to address retention of primary dentition, presence of supernumerary teeth, and non-eruption of secondary dentition. Such procedures may include prosthetic replacements, removal of the supernumerary teeth followed by surgical repositioning of the secondary teeth, and a combination of surgical and orthodontic measures for actively erupting and aligning the impacted secondary teeth. Speech therapy as needed. Aggressive treatment of sinus and middle ear infections; consideration of tympanostomy tubes for recurrent middle ear infections; regular immunizations including influenza. Sleep study in those with manifestations of obstructive sleep apnea; surgical intervention may be required for upper airway obstruction. Surveillance: Monitor children for orthopedic complications, dental abnormalities, sinus and ear infections, upper airway obstruction, hearing loss, and speech issues. DXA scan to assess bone mineral density beginning in early adolescence and every five to ten years thereafter. Agents/circumstances to avoid: Helmets and protective devices should be worn when participating in high-risk activities. Pregnancy management: Monitor affected women during pregnancy for cephalopelvic disproportion., CCD spectrum disorder is inherited in an autosomal dominant manner. The proportion of individuals with CCD spectrum disorder caused by a de novo pathogenic variant is high. Each child of an individual with CCD spectrum disorder has a 50% chance of inheriting the RUNX2 pathogenic variant. Once the RUNX2 pathogenic variant has been identified in an affected family member, prenatal and preimplantation genetic testing for CCD spectrum disorder are possible.", + "language": "eng", + "note": "PMID: 20301686\nThis CSL Item was generated by Manubot v0.6.1 from its persistent identifier (standard_id).\nstandard_id: url:https://www.ncbi.nlm.nih.gov/books/NBK1513" +}, { "id": "omim:309548", "manubot_success": false, @@ -164343,12 +165947,6 @@ "link": "https://www.ncbi.nlm.nih.gov/books/NBK1175", "note": "WARNING: Manubot could not generate citation: Command '['manubot', 'cite', 'url:https://www.ncbi.nlm.nih.gov/books/NBK1175']' timed out after 3 seconds" }, -{ - "id": "genereviews:NBK1256", - "manubot_success": false, - "link": "https://www.ncbi.nlm.nih.gov/books/NBK1256", - "note": "WARNING: Manubot could not generate citation: Command '['manubot', 'cite', 'url:https://www.ncbi.nlm.nih.gov/books/NBK1256']' timed out after 3 seconds" -}, { "id": "genereviews:NBK1384", "manubot_success": false, @@ -164367,18 +165965,6 @@ "link": "https://www.ncbi.nlm.nih.gov/books/NBK1229", "note": "WARNING: Manubot could not generate citation: Command '['manubot', 'cite', 'url:https://www.ncbi.nlm.nih.gov/books/NBK1229']' timed out after 3 seconds" }, -{ - "id": "genereviews:NBK564656", - "manubot_success": false, - "link": "https://www.ncbi.nlm.nih.gov/books/NBK564656", - "note": "WARNING: Manubot could not generate citation: Command '['manubot', 'cite', 'url:https://www.ncbi.nlm.nih.gov/books/NBK564656']' timed out after 3 seconds" -}, -{ - "id": "genereviews:NBK1513", - "manubot_success": false, - "link": "https://www.ncbi.nlm.nih.gov/books/NBK1513", - "note": "WARNING: Manubot could not generate citation: Command '['manubot', 'cite', 'url:https://www.ncbi.nlm.nih.gov/books/NBK1513']' timed out after 3 seconds" -}, { "id": "isbn:978-3-031-66932-3", "manubot_success": false, diff --git a/data/STRchive-loci.schema.json b/data/STRchive-loci.schema.json index 2c62cd26..17ad6a1a 100644 --- a/data/STRchive-loci.schema.json +++ b/data/STRchive-loci.schema.json @@ -46,7 +46,16 @@ "type": "array", "items": { "title": "", - "examples": ["Definitive", "Strong", "Moderate", "Limited", "Disputed", "Refuted", "No Known Relationship", "Provisional", null], + "examples": [ + "Definitive", + "Strong", + "Moderate", + "Limited", + "Disputed", + "Refuted", + "No Known Relationship", + "Provisional" + ], "type": "string", "combobox": true } @@ -128,7 +137,7 @@ "items": { "title": "Type", "type": ["string", "null"], - "enum": ["AD", "AR", "XLR", "XLD", "XD", "XR", "MT"] + "enum": ["AD", "AR", "XLR", "XLD", "XD", "XR", "MT", null] } }, "association_type": { @@ -141,7 +150,7 @@ "items": { "title": "Type", "type": ["string", "null"], - "enum": ["Mendelian", "Risk", "Modifier"] + "enum": ["Mendelian", "Risk", "Modifier", null] } }, "disease_description": { @@ -158,10 +167,7 @@ "section": "Disease", "title": "HPO Terms", "description": "Human Phenotype Ontology (HPO) terms associated with the disease", - "examples": [ - "HP:0002066 Gait ataxia", - "HP:0001250 Seizure" - ], + "examples": ["HP:0002066 Gait ataxia", "HP:0001250 Seizure"], "type": ["array", "null"], "items": { "type": "string", @@ -312,7 +318,7 @@ "examples": ["AAGGG", "ACAGG"], "type": "array", "auto_generated": true, - "hide": "true", + "hide": true, "uniqueItems": true, "items": { "title": "", @@ -327,7 +333,7 @@ "examples": ["AAAAG"], "type": "array", "auto_generated": true, - "hide": "true", + "hide": true, "uniqueItems": true, "items": { "title": "", @@ -342,7 +348,7 @@ "examples": ["AAAAG"], "type": "array", "auto_generated": true, - "hide": "true", + "hide": true, "uniqueItems": true, "items": { "title": "", @@ -357,7 +363,7 @@ "examples": ["CAA"], "type": "array", "auto_generated": true, - "hide": "true", + "hide": true, "uniqueItems": true, "items": { "title": "", @@ -370,8 +376,7 @@ "title": "Pathogenic Motif (Gene Orientation)", "description": "Pathogenic motif(s) in the gene orientation, so the reverse complement if gene is on - strand.", "examples": ["CCCTT", "CCTGT"], - "type": "array", - + "type": "array", "uniqueItems": true, "items": { "title": "", @@ -760,7 +765,7 @@ "examples": ["pmid:38467784"], "type": "array", "auto_generated": true, - "hide": "true", + "hide": true, "uniqueItems": true, "items": { "title": "", diff --git a/data/criTRia-curations.json b/data/criTRia-curations.json index 18ccc4cb..2acc4380 100644 --- a/data/criTRia-curations.json +++ b/data/criTRia-curations.json @@ -10,6 +10,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39068203"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -98,6 +99,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP11", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -131,6 +133,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39313615", "pmid:24763282"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -263,6 +266,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP9", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -296,6 +300,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:21204215", "pmid:9307258", "pmid:12874418", "pmid:11889467", "pmid:19587282", "pmid:19439424"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -428,6 +433,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:20506206", "pmid:26029707"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -494,6 +500,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:6808417", "pmid:8136826", "pmid:7778850", "pmid:7842016", "pmid:41624332"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -582,6 +589,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:3165612", "pmid:30933216", "pmid:39096063", "pmid:20502998", "pmid:19028133", "pmid:8358429", "pmid:35573049"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -681,6 +689,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:19234597", "pmid:11017075", "pmid:9973298", "pmid:38467784"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -780,6 +789,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP9", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -813,6 +823,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:7573040", "pmid:8619527", "pmid:9040742", "pmid:40178277", "pmid:39921113", "pmid:39731318", "pmid:22133674", "pmid:19811945", "pmid:17953484"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -934,6 +945,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["genereviews:NBK1256", "pmid:8908515", "pmid:30721448", "pmid:28597910", "pmid:25900954", "pmid:11030806", "pmid:18418675"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1088,6 +1100,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:34632710", "pmid:10192387", "pmid:16804541"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1187,6 +1200,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:19878914", "pmid:36371266", "pmid:36563608", "pmid:23331413"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1297,6 +1311,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP8", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -1330,6 +1345,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39996131", "pmid:15026782", "pmid:8988170", "pmid:23331413", "pmid:27412786"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1462,6 +1478,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:7603564", "pmid:7887422", "pmid:10767345"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1550,6 +1567,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": "", + "references": ["pmid:14505273", "pmid:11486088", "pmid:12970845", "pmid:28623239", "pmid:20971734"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1693,6 +1711,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP11", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -1726,6 +1745,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:40751262", "pmid:30488659", "pmid:32937144"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1814,6 +1834,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP8", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -1847,6 +1868,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:28686858", "pmid:29939198"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -1990,6 +2012,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": "Disputed", + "references": ["pmid:39854091", "pmid:17236128", "pmid:34622207", "pmid:42205056", "pmid:38418263", "pmid:37248219"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2089,6 +2112,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": "Refuted", + "references": ["pmid:27417533", "pmid:40140942"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2144,6 +2168,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:32851192", "pmid:39643839", "pmid:20635151", "pmid:7847063", "pmid:39932794", "pmid:16027111", "pmid:31649961"], "genetic_evidence_details": [ { "Evidence type": "Allele", @@ -2261,6 +2286,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:29112243", "pmid:24360810", "pmid:28334780"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2349,6 +2375,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:36493768", "pmid:39263992", "pmid:12489043", "pmid:36516086", "pmid:12123606", "pmid:17978045"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2448,6 +2475,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:2031184", "pmid:35148024", "pmid:6712153", "pmid:3838733", "pmid:1673303", "pmid:2903666", "pmid:1710175", "pmid:22483044", "pmid:30642066", "pmid:36692473", "pmid:8033209", "pmid:16257225", "pmid:31364704"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2558,6 +2586,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:17427188", "pmid:18574214", "pmid:20497189", "pmid:18057320", "pmid:12700164"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2657,6 +2686,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:11468277", "pmid:27283035", "pmid:33875939", "pmid:15591279", "pmid:18372316", "pmid:22248822"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2767,6 +2797,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP5", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -2800,6 +2831,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:32413282", "pmid:33374016", "pmid:39492694", "pmid:39936620", "pmid:39418922", "pmid:35152460"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -2899,6 +2931,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP7", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -2932,6 +2965,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:17935235", "pmid:15385446"], "genetic_evidence_details": [], "experimental_evidence_details": [ { @@ -3020,6 +3054,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:12676922", "pmid:15385446"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3097,6 +3132,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:10839976", "pmid:17935235", "pmid:15385446"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3174,6 +3210,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:9207113", "pmid:8614804", "pmid:32386547"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3251,6 +3288,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP8", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -3284,6 +3322,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:28339400", "pmid:40187026", "pmid:21555070", "pmid:29208631", "pmid:11694876"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3383,6 +3422,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:31332380", "pmid:34047774"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3460,6 +3500,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:31664039", "pmid:12140665", "pmid:19616813"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3570,6 +3611,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:38714869", "pmid:38714868"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3658,6 +3700,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP8", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -3691,6 +3734,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39455596"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3779,6 +3823,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": "Disputed", + "references": ["pmid:31286297", "pmid:34179866", "pmid:30342764"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3856,6 +3901,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:37332636", "pmid:28761930", "pmid:37810464", "pmid:19620283"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -3955,6 +4001,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:37090934", "pmid:31178126", "pmid:36570826", "pmid:36086903", "pmid:35857137", "pmid:34675106", "pmid:31332380", "pmid:39055960"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4043,6 +4090,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:31332380", "pmid:37923380", "pmid:39308795", "pmid:38159879"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4142,6 +4190,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:35112761", "pmid:28011929", "pmid:9392020", "pmid:11087766", "pmid:9462747"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4241,6 +4290,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP9", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -4274,6 +4324,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:36151849", "pmid:32451610", "pmid:40693562", "pmid:39102614", "pmid:35499779", "pmid:37145156"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4384,6 +4435,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": "Disputed", + "references": ["pmid:22963882"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4450,6 +4502,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:34711523", "pmid:38467784", "pmid:10581021"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4538,6 +4591,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:26005867"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4681,6 +4735,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:29887139", "pmid:1683708", "pmid:37379724", "pmid:29939637"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4758,6 +4813,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:37994247", "pmid:38871700"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4824,6 +4880,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:30351492", "pmid:29507423"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -4879,6 +4936,7 @@ "Source": "ClinGen", "SOP_version": "ClinGen Gene Validity Evaluation Criteria SOP10", "Manual_evidence_level": null, + "references": null, "genetic_evidence_details": [], "experimental_evidence_details": [], "category_summary": @@ -4912,6 +4970,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:37923380", "pmid:35700120", "pmid:35148830"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5000,6 +5059,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:26220009", "pmid:40585427", "pmid:9182765", "pmid:25852448", "pmid:32386547", "pmid:24497578"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5132,6 +5192,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39569876", "pmid:32203200", "pmid:30194086", "pmid:29939203", "pmid:29507423"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5231,6 +5292,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:24346842", "pmid:19654509", "pmid:17127446", "pmid:23505376"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5319,6 +5381,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:31664034"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5407,6 +5470,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:30973967", "pmid:29229810", "pmid:38835911", "pmid:35395816", "pmid:7668293", "pmid:38834915", "pmid:17273961", "pmid:29474918", "pmid:35868859", "pmid:34250228"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5517,6 +5581,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:12805114", "pmid:27172828", "pmid:26374734", "pmid:26267067", "pmid:35868859", "pmid:32386547", "pmid:18218637"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5616,6 +5681,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:19948535", "pmid:16141220"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5671,6 +5737,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:25168903", "pmid:24255041", "pmid:30267097", "pmid:28832669", "pmid:27755191", "pmid:25593321", "pmid:29526280", "pmid:37169279"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5858,6 +5925,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:39651830", "pmid:37148549", "pmid:15368101", "pmid:24677642"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -5979,6 +6047,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:29507423"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6045,6 +6114,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:40589716"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6100,6 +6170,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:33559681", "pmid:39502942", "pmid:38652110"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6177,6 +6248,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:30554721", "pmid:24581741"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6254,6 +6326,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:31539032", "pmid:22713812", "pmid:38128822"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6342,6 +6415,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:38035881", "pmid:39095619", "pmid:12796826", "pmid:38684900", "pmid:38197134", "pmid:39635987", "pmid:40459184"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6452,6 +6526,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:11285244", "pmid:19177455", "pmid:15590697", "pmid:29391420", "pmid:42033229", "pmid:10677508", "pmid:18617531"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6573,6 +6648,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:20452998", "pmid:32639022"], "genetic_evidence_details": [ { "Evidence type": "Probands", @@ -6617,6 +6693,7 @@ "Source": "criTRia", "SOP_version": "criTRia v0", "Manual_evidence_level": null, + "references": ["pmid:25196122"], "genetic_evidence_details": [ { "Evidence type": "Probands", diff --git a/data/criTRia-curations.schema.json b/data/criTRia-curations.schema.json index 960c6a32..a41521da 100644 --- a/data/criTRia-curations.schema.json +++ b/data/criTRia-curations.schema.json @@ -80,7 +80,10 @@ "section": "Curation", "title": "SOP Version", "description": "Version of the Standard Operating Procedure used for curation", - "examples": ["criTRia v0", "ClinGen Gene Validity Evaluation Criteria SOP11"], + "examples": [ + "criTRia v0", + "ClinGen Gene Validity Evaluation Criteria SOP11" + ], "type": ["string", "null"] }, "Manual_evidence_level": { @@ -90,6 +93,16 @@ "examples": ["Disputed", "Refuted"], "type": ["string", "null"] }, + "references": { + "section": "Generated", + "title": "References", + "description": "All unique citation IDs extracted from Citation fields and free-text fields. Generated automatically by check-curations.py.", + "examples": [["pmid:39068203", "pmid:27417533"]], + "type": ["array", "null"], + "items": { + "type": "string" + } + }, "genetic_evidence_details": { "section": "Evidence", "title": "Genetic Evidence Details", @@ -102,12 +115,12 @@ "title": "Evidence Type", "type": ["string", "null"], "enum": [ - null, "Probands", "Allele", "Computational", "Segregation", - "Case-control data" + "Case-control data", + null ] }, "Score": { @@ -120,8 +133,7 @@ "description": "Citation in the format doi:xxxx or pmid:xxxx", "examples": ["pmid:39068203"], "type": ["string", "null"], - "pattern": "^(?:doi|pmc|pmid|arxiv|isbn|url|mondo|omim|genereviews|malacard|orphanet|stripy|gnomad):.+$" - + "pattern": "^(?:doi|pmc|pmid|arxiv|isbn|url|mondo|omim|genereviews|malacard|orphanet|stripy|gnomad):.+$" }, "Evidence detail": { "title": "Evidence Detail", @@ -150,7 +162,7 @@ "publication_dates": { "title": "Publication Dates", "description": "Array of publication dates in ISO format or timestamp format", - "examples": [["2024-07-27 00:00:00", "2014-04-01"]], + "examples": ["2024-07-27 00:00:00", "2014-04-01"], "type": ["array", "null"], "items": { "type": "string" @@ -170,7 +182,6 @@ "title": "Evidence Type", "type": ["string", "null"], "enum": [ - null, "Biochemical function", "Protein interaction", "Regulatory impact", @@ -181,7 +192,8 @@ "Human treatment", "Rescue in non-human model organism", "Rescue in cell culture", - "Rescue in patient cells" + "Rescue in patient cells", + null ] }, "Score": { @@ -223,7 +235,7 @@ "publication_dates": { "title": "Publication Dates", "description": "Array of publication dates in ISO format or timestamp format", - "examples": [["2024-07-27 00:00:00", "2014-04-01"]], + "examples": ["2024-07-27 00:00:00", "2014-04-01"], "type": ["array", "null"], "items": { "type": "string" @@ -302,7 +314,17 @@ "description": "Classification of evidence based on total score. This is generated automatically and should not be manually edited. To override the classification, use the Manual_evidence_level field.", "examples": ["Definitive", "Strong", "Moderate", "Limited"], "type": ["string", "null"], - "enum": ["Definitive", "Strong", "Moderate", "Limited", "Disputed", "Refuted", "No Known Relationship", "Provisional", null] + "enum": [ + "Definitive", + "Strong", + "Moderate", + "Limited", + "Disputed", + "Refuted", + "No Known Relationship", + "Provisional", + null + ] } }, "required": [ diff --git a/scripts/check-curations.py b/scripts/check-curations.py index 0c913722..94b22be8 100644 --- a/scripts/check-curations.py +++ b/scripts/check-curations.py @@ -3,6 +3,7 @@ import argparse import doctest import os +import re import time import json import math @@ -170,6 +171,45 @@ def parse_args(): }, } +def extract_references(locus): + """Collect all unique citation IDs from a curation's Citation fields and free-text fields. + + Citation fields use plain 'pmid:xxx' (semicolon-separated). + Free-text fields use '[@pmid:xxx]' or '[@pmid:xxx; @doi:yyy]' notation. + Returns a list of citation IDs preserving first-seen order. + + >>> extract_references({'genetic_evidence_details': [{'Citation': 'pmid:111; pmid:222'}], 'experimental_evidence_details': [], 'Description': 'See [@pmid:333; @doi:444] for details.'}) + ['pmid:111', 'pmid:222', 'pmid:333', 'doi:444'] + >>> extract_references({'genetic_evidence_details': [{'Citation': 'pmid:111'}], 'experimental_evidence_details': [], 'Description': 'See [@pmid:111].'}) + ['pmid:111'] + """ + seen = {} + + for section in ('genetic_evidence_details', 'experimental_evidence_details'): + for entry in locus.get(section, []): + citation = entry.get('Citation') + if citation and isinstance(citation, str): + for part in citation.split(';'): + cit_id = part.strip().lstrip('@') + if cit_id and ':' in cit_id: + seen.setdefault(cit_id, None) + + free_text_fields = [locus.get('Description', '')] + for section in ('genetic_evidence_details', 'experimental_evidence_details'): + for entry in locus.get(section, []): + free_text_fields.append(entry.get('Evidence detail', '')) + + for text in free_text_fields: + if not text: + continue + for match in re.findall(r'@([a-zA-Z]+:[^\s;@\[\]]+)', text): + cit_id = match.strip() + if cit_id and ':' in cit_id: + seen.setdefault(cit_id, None) + + return list(seen.keys()) + + def _normalize_evidence_type(evidence_type): if evidence_type is None or pd.isna(evidence_type): return "" @@ -441,6 +481,7 @@ def count_unique_publications(citations): experimental_evidence_details = experimental_df.drop(columns=['__original_section'], errors='ignore').to_dict(orient='records') # Return updated dictionary containing the curation summary + locus["references"] = extract_references(locus) locus["category_summary"] = category_summary locus["supercategory_summary"] = supercategory_summary locus["total_score"] = total_score diff --git a/scripts/ref-allele.py b/scripts/ref-allele.py index 28787a94..4eff53fb 100644 --- a/scripts/ref-allele.py +++ b/scripts/ref-allele.py @@ -2,6 +2,9 @@ import re import sys import os +import shutil +import time +import urllib.error import urllib.request def split_repeat_sequence(motifs, sequence): @@ -119,7 +122,21 @@ def get_ref(fasta, ref_directory='.'): pass # Download the reference genome file sys.stderr.write(f"Warning: couldn't find a local copy of reference genome file: {ref_path}. Downloading.\n") - urllib.request.urlretrieve(fasta, ref_path) + max_attempts = 3 + for attempt in range(1, max_attempts + 1): + if os.path.isfile(ref_path): + os.remove(ref_path) + try: + with urllib.request.urlopen(fasta, timeout=120) as response, open(ref_path, "wb") as output: + shutil.copyfileobj(response, output) + break + except (urllib.error.URLError, TimeoutError, OSError) as err: + if os.path.isfile(ref_path): + os.remove(ref_path) + if attempt == max_attempts: + raise + sys.stderr.write(f"Warning: download attempt {attempt} failed ({err}). Retrying.\n") + time.sleep(5) try: ref = pysam.Fastafile(ref_path) return ref diff --git a/scripts/run-manubot.py b/scripts/run-manubot.py index f0f1d796..b2a1b2dd 100644 --- a/scripts/run-manubot.py +++ b/scripts/run-manubot.py @@ -40,6 +40,8 @@ def parse_args(): parser.add_argument("output", help="Output JSON file off full citations") parser.add_argument("--append", help="JSON file of previous citations to be skipped and appended to the output", default=None) parser.add_argument("--inloci", help="JSON input is in STRchive loci format. Only items in the references field will be queried. Recommend using with --append", action='store_true') + parser.add_argument("--incurations", help="JSON input is in criTRia curations format. Only items in the references field will be queried. Recommend using with --append", action='store_true') + parser.add_argument("--curations", help="Optional criTRia curations JSON file. References from these curations will be added to the IDs queried.", default=None) return parser.parse_args() def cite_with_manubot(ids, append_ids=None): @@ -268,9 +270,21 @@ def main(args): for record in loci_data: data = data + [x.lstrip('@') for x in record['references']] data = data + [x.lstrip('@') for x in record['additional_literature']] + elif args.incurations: + data = [] + curations_data = json.load(file) + for record in curations_data: + data = data + [x.lstrip('@') for x in record.get('references', [])] else: data = json.load(file) + # add references from supplementary curations file + if args.curations: + with open(args.curations, "r") as f: + curations_data = json.load(f) + for record in curations_data: + data = data + [x.lstrip('@') for x in (record.get('references') or [])] + # write output JSON with open(args.output, "w") as file: new_json = cite_with_manubot(data, append_ids=append_ids) diff --git a/site/.prettierignore b/site/.prettierignore index 6cd69e0b..031d092d 100755 --- a/site/.prettierignore +++ b/site/.prettierignore @@ -1,2 +1,4 @@ dist public +.astro +cloud diff --git a/site/.prettierrc b/site/.prettierrc new file mode 100644 index 00000000..d28642cf --- /dev/null +++ b/site/.prettierrc @@ -0,0 +1,36 @@ +{ + "htmlWhitespaceSensitivity": "strict", + + "plugins": ["prettier-plugin-astro", "@ianvs/prettier-plugin-sort-imports"], + + "overrides": [ + { + "files": "*.css", + "options": { + "plugins": ["prettier-plugin-tailwindcss"] + } + }, + + { + "files": "*.!(css)", + "options": { + "importOrder": [ + "^react", + "^[^~/.]", + "^~/", + "^/", + "^./", + "^../", + "", + "^react", + "^[^~/.]", + "^~/", + "^/", + "^./", + "^../" + ], + "importOrderParserPlugins": ["typescript", "jsx", "importAssertions"] + } + } + ] +} diff --git a/site/.prettierrc.mjs b/site/.prettierrc.mjs deleted file mode 100644 index 52f3a1c8..00000000 --- a/site/.prettierrc.mjs +++ /dev/null @@ -1,28 +0,0 @@ -/** @type {import("prettier").Config} */ -export default { - plugins: [ - "prettier-plugin-astro", - "@ianvs/prettier-plugin-sort-imports", - "prettier-plugin-css-order", - ], - importOrder: [ - "^@/layouts/Layout.astro", - "^react", - "^[a-zA-Z]", - "^@[a-zA-Z]", - "^@/", - "^/", - "^./", - "^../", - ], - importOrderParserPlugins: ["jsx", "importAssertions"], - cssDeclarationSorterOrder: "smacss", - overrides: [ - { - files: "*.astro", - options: { - parser: "astro", - }, - }, - ], -}; diff --git a/site/.vscode/extensions.json b/site/.vscode/extensions.json index 62f4e4bd..30810fab 100755 --- a/site/.vscode/extensions.json +++ b/site/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["astro-build.astro-vscode"], + "recommendations": ["astro-build.astro-vscode"] } diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 3ff0c36a..932f2f8d 100755 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -1,7 +1,8 @@ -import { defineConfig } from "astro/config"; -import svgr from "vite-plugin-svgr"; import mdx from "@astrojs/mdx"; import react from "@astrojs/react"; +import tailwindcss from "@tailwindcss/vite"; +import { defineConfig } from "astro/config"; +import svgr from "vite-plugin-svgr"; // https://astro.build/config export default defineConfig({ @@ -21,6 +22,7 @@ export default defineConfig({ }, }, }), + tailwindcss(), ], }, }); diff --git a/site/bun.lock b/site/bun.lock index 28515c2b..03240630 100644 --- a/site/bun.lock +++ b/site/bun.lock @@ -1,305 +1,397 @@ { "lockfileVersion": 1, - "configVersion": 0, + "configVersion": 1, "workspaces": { "": { "name": "site", "dependencies": { - "@astrojs/mdx": "4.3.3", - "@astrojs/react": "4.3.0", - "@headlessui/react": "^2.2.7", + "@astrojs/mdx": "6.0.3", + "@astrojs/react": "5.0.7", + "@base-ui/react": "^1.6.0", + "@fontsource-variable/inter": "^5.2.8", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@kbox-labs/react-echarts": "^1.4.2", - "@reactuses/core": "^6.0.6", - "@sagold/json-pointer": "^7.1.2", + "@reactuses/core": "^6.3.2", + "@sagold/json-pointer": "^7.2.1", + "@tabler/icons-react": "^3.44.0", "@tanstack/react-table": "^8.21.3", - "astro": "5.12.9", + "astro": "6.4.8", "astro-google-analytics": "^1.0.3", "clsx": "^2.1.1", - "echarts": "^6.0.0", - "json-schema-library": "^10.2.1", - "lodash-es": "^4.17.21", + "echarts": "^6.1.0", + "json-schema-library": "^11.6.1", + "lodash-es": "^4.18.1", "micromark": "^4.0.2", "micromark-extension-gfm-autolink-literal": "^2.1.0", - "plotly.js-dist": "^3.1.0", - "react": "^19.1.1", + "plotly.js-dist": "^3.6.0", + "react": "^19.2.7", "react-children-utilities": "^2.10.0", - "react-dom": "^19.1.1", - "react-icons": "^5.5.0", - "string-strip-html": "^13.4.13", + "react-dom": "^19.2.7", + "string-strip-html": "^13.5.3", + "tailwindcss": "^4.3.1", "tippy.js": "^6.3.7", - "ua-parser-js": "^2.0.4", + "ua-parser-js": "^2.0.10", }, "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "^4.6.1", - "@types/react": "^19.1.10", - "@types/react-dom": "^19.1.7", - "postcss": "^8.5.6", - "prettier": "^3.6.2", + "@eslint/js": "^10.0.1", + "@ianvs/prettier-plugin-sort-imports": "^4.7.1", + "@tailwindcss/vite": "^4.3.1", + "@types/lodash-es": "^4.17.12", + "@types/node": "^26", + "@types/plotly.js": "^3.0.10", + "@types/react": "^19.2.17", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.2", + "eslint": "^10.5.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-astro": "^1.7.0", + "eslint-plugin-better-tailwindcss": "^4.6.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-mdx": "^3.8.1", + "eslint-plugin-prettier": "^5.5.6", + "eslint-plugin-react-hooks": "^7.1.1", + "globals": "^17.6.0", + "prettier": "^3.8.4", "prettier-plugin-astro": "^0.14.1", - "prettier-plugin-css-order": "^2.1.2", - "vite-plugin-svgr": "^4.3.0", - "yaml": "^2.8.1", + "prettier-plugin-tailwindcss": "^0.8.0", + "type-fest": "^5.7.0", + "typescript": "^6.0.3", + "typescript-eslint": "^8.61.1", + "vite-plugin-svgr": "^5.2.0", + "yaml": "^2.9.0", }, }, }, "packages": { - "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + "@astrojs/compiler": ["@astrojs/compiler@2.13.1", "", {}, "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg=="], - "@astrojs/compiler": ["@astrojs/compiler@2.12.2", "", {}, "sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw=="], + "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.10.0", "", { "dependencies": { "@types/hast": "^3.0.4", "@types/mdast": "^4.0.4", "js-yaml": "^4.1.1", "picomatch": "^4.0.4", "retext-smartypants": "^6.2.0", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "unified": "^11.0.5" } }, "sha512-Ry2R3VPeIN4uPCSA4xQc+e+vsJXkalKpEbDc07hV+a/o5Bs2N/s/uDcPJH/05L19DKh9tAy7e6JM3YZ6Cxfezw=="], - "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.7.1", "", {}, "sha512-7dwEVigz9vUWDw3nRwLQ/yH/xYovlUA0ZD86xoeKEBmkz9O6iELG1yri67PgAPW6VLL/xInA4t7H0CK6VmtkKQ=="], + "@astrojs/markdown-remark": ["@astrojs/markdown-remark@7.2.0", "", { "dependencies": { "@astrojs/internal-helpers": "0.10.0", "@astrojs/prism": "4.0.2", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.1.0", "unist-util-visit-parents": "^6.0.2", "vfile": "^6.0.3" } }, "sha512-+YxmVQu1Bd+MFfSzjq1rOJvD9+nIOJzz5YIIhdIH01RrxRkKbyKoEgyIqP3yv51MhzMDgd79QaPv+kCVPT8vHw=="], - "@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.5", "", { "dependencies": { "@astrojs/internal-helpers": "0.7.1", "@astrojs/prism": "3.3.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.1.0", "js-yaml": "^4.1.0", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", "shiki": "^3.2.1", "smol-toml": "^1.3.4", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1", "vfile": "^6.0.3" } }, "sha512-MiR92CkE2BcyWf3b86cBBw/1dKiOH0qhLgXH2OXA6cScrrmmks1Rr4Tl0p/lFpvmgQQrP54Pd1uidJfmxGrpWQ=="], + "@astrojs/mdx": ["@astrojs/mdx@6.0.3", "", { "dependencies": { "@astrojs/internal-helpers": "0.10.0", "@astrojs/markdown-remark": "7.2.0", "@mdx-js/mdx": "^3.1.1", "acorn": "^8.16.0", "es-module-lexer": "^2.0.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "piccolore": "^0.1.3", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.6", "unist-util-visit": "^5.1.0", "vfile": "^6.0.3" }, "peerDependencies": { "@astrojs/markdown-satteri": "0.3.0", "astro": "^6.4.0" }, "optionalPeers": ["@astrojs/markdown-satteri"] }, "sha512-+4P3ZvwsRAqAbBgY+uZMewFo3ficlIBPZfu/Luk+v4ia/ZOuFhpsw7r+7672uT2Fc1UPdp7yW0eU5egvSq0wbw=="], - "@astrojs/mdx": ["@astrojs/mdx@4.3.3", "", { "dependencies": { "@astrojs/markdown-remark": "6.3.5", "@mdx-js/mdx": "^3.1.0", "acorn": "^8.14.1", "es-module-lexer": "^1.6.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "kleur": "^4.1.5", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.4", "unist-util-visit": "^5.0.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^5.0.0" } }, "sha512-+9+xGP2TBXxcm84cpiq4S9JbuHOHM1fcvREfqW7VHxlUyfUQPByoJ9YYliqHkLS6BMzG+O/+o7n8nguVhuEv4w=="], + "@astrojs/prism": ["@astrojs/prism@4.0.2", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA=="], - "@astrojs/prism": ["@astrojs/prism@3.3.0", "", { "dependencies": { "prismjs": "^1.30.0" } }, "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ=="], + "@astrojs/react": ["@astrojs/react@5.0.7", "", { "dependencies": { "@astrojs/internal-helpers": "0.10.0", "@vitejs/plugin-react": "^5.2.0", "devalue": "^5.8.1", "ultrahtml": "^1.6.0", "vite": "^7.3.2" }, "peerDependencies": { "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", "react": "^17.0.2 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" } }, "sha512-N9cCoxvnLWaP+AK1Fv4e5Mc7ktnVTpSo2nWLwvD9Ohr1dJKygwrTSm9yatqoahgb1A5Kwjg/rT2shRiIVdn3aw=="], - "@astrojs/react": ["@astrojs/react@4.3.0", "", { "dependencies": { "@vitejs/plugin-react": "^4.4.1", "ultrahtml": "^1.6.0", "vite": "^6.3.5" }, "peerDependencies": { "@types/react": "^17.0.50 || ^18.0.21 || ^19.0.0", "@types/react-dom": "^17.0.17 || ^18.0.6 || ^19.0.0", "react": "^17.0.2 || ^18.0.0 || ^19.0.0", "react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0" } }, "sha512-N02aj52Iezn69qHyx5+XvPqgsPMEnel9mI5JMbGiRMTzzLMuNaxRVoQTaq2024Dpr7BLsxCjqMkNvelqMDhaHA=="], + "@astrojs/telemetry": ["@astrojs/telemetry@3.3.2", "", { "dependencies": { "ci-info": "^4.4.0", "dset": "^3.1.4", "is-docker": "^4.0.0", "is-wsl": "^3.1.1", "which-pm-runs": "^1.1.0" } }, "sha512-j8DNruA8ors99Al39RYZPJK4DC1bKkoNm93mAMuBhY9TCNC4R8n1q7ovFnJ5qhGh5Lsh7pa1gpQVpYpsJPeTHQ=="], - "@astrojs/telemetry": ["@astrojs/telemetry@3.3.0", "", { "dependencies": { "ci-info": "^4.2.0", "debug": "^4.4.0", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ=="], + "@babel/code-frame": ["@babel/code-frame@7.29.7", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.29.7", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw=="], - "@babel/code-frame": ["@babel/code-frame@7.27.1", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg=="], + "@babel/compat-data": ["@babel/compat-data@7.29.7", "", {}, "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg=="], - "@babel/compat-data": ["@babel/compat-data@7.28.0", "", {}, "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw=="], + "@babel/core": ["@babel/core@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-compilation-targets": "^7.29.7", "@babel/helper-module-transforms": "^7.29.7", "@babel/helpers": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA=="], - "@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="], + "@babel/generator": ["@babel/generator@7.29.7", "", { "dependencies": { "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ=="], - "@babel/generator": ["@babel/generator@7.28.0", "", { "dependencies": { "@babel/parser": "^7.28.0", "@babel/types": "^7.28.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg=="], + "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.29.7", "", { "dependencies": { "@babel/compat-data": "^7.29.7", "@babel/helper-validator-option": "^7.29.7", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g=="], - "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.2", "", { "dependencies": { "@babel/compat-data": "^7.27.2", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ=="], + "@babel/helper-globals": ["@babel/helper-globals@7.29.7", "", {}, "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA=="], - "@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="], + "@babel/helper-module-imports": ["@babel/helper-module-imports@7.29.7", "", { "dependencies": { "@babel/traverse": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g=="], - "@babel/helper-module-imports": ["@babel/helper-module-imports@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w=="], + "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.29.7", "", { "dependencies": { "@babel/helper-module-imports": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7", "@babel/traverse": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg=="], - "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.27.3", "", { "dependencies": { "@babel/helper-module-imports": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1", "@babel/traverse": "^7.27.3" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg=="], + "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.29.7", "", {}, "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw=="], - "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.27.1", "", {}, "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw=="], + "@babel/helper-string-parser": ["@babel/helper-string-parser@7.29.7", "", {}, "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw=="], - "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="], + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.29.7", "", {}, "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg=="], - "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="], + "@babel/helper-validator-option": ["@babel/helper-validator-option@7.29.7", "", {}, "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw=="], - "@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="], + "@babel/helpers": ["@babel/helpers@7.29.7", "", { "dependencies": { "@babel/template": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg=="], - "@babel/helpers": ["@babel/helpers@7.28.2", "", { "dependencies": { "@babel/template": "^7.27.2", "@babel/types": "^7.28.2" } }, "sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw=="], + "@babel/parser": ["@babel/parser@7.29.7", "", { "dependencies": { "@babel/types": "^7.29.7" }, "bin": "./bin/babel-parser.js" }, "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg=="], - "@babel/parser": ["@babel/parser@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.0" }, "bin": "./bin/babel-parser.js" }, "sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g=="], + "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw=="], - "@babel/plugin-transform-react-jsx-self": ["@babel/plugin-transform-react-jsx-self@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw=="], + "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.29.7", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.29.7" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q=="], - "@babel/plugin-transform-react-jsx-source": ["@babel/plugin-transform-react-jsx-source@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw=="], + "@babel/runtime": ["@babel/runtime@7.29.7", "", {}, "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw=="], - "@babel/runtime": ["@babel/runtime@7.28.2", "", {}, "sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA=="], + "@babel/template": ["@babel/template@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/types": "^7.29.7" } }, "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg=="], - "@babel/template": ["@babel/template@7.27.2", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/parser": "^7.27.2", "@babel/types": "^7.27.1" } }, "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw=="], + "@babel/traverse": ["@babel/traverse@7.29.7", "", { "dependencies": { "@babel/code-frame": "^7.29.7", "@babel/generator": "^7.29.7", "@babel/helper-globals": "^7.29.7", "@babel/parser": "^7.29.7", "@babel/template": "^7.29.7", "@babel/types": "^7.29.7", "debug": "^4.3.1" } }, "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw=="], - "@babel/traverse": ["@babel/traverse@7.28.0", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/types": "^7.28.0", "debug": "^4.3.1" } }, "sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg=="], + "@babel/types": ["@babel/types@7.29.7", "", { "dependencies": { "@babel/helper-string-parser": "^7.29.7", "@babel/helper-validator-identifier": "^7.29.7" } }, "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA=="], - "@babel/types": ["@babel/types@7.28.2", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ=="], + "@base-ui/react": ["@base-ui/react@1.6.0", "", { "dependencies": { "@babel/runtime": "^7.29.2", "@base-ui/utils": "0.3.1", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "@date-fns/tz": "^1.2.0", "@types/react": "^17 || ^18 || ^19", "date-fns": "^4.0.0", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@date-fns/tz", "@types/react", "date-fns"] }, "sha512-/jzjTWJYXhRFO45Bev9lc3cHbmjzCMpUqbMZ2AgKy/z25mY9B6shGSNcXcjQar9n5doM0KYW1W8fcFv2jZBuMw=="], - "@capsizecss/unpack": ["@capsizecss/unpack@2.4.0", "", { "dependencies": { "blob-to-buffer": "^1.2.8", "cross-fetch": "^3.0.4", "fontkit": "^2.0.2" } }, "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q=="], + "@base-ui/utils": ["@base-ui/utils@0.3.1", "", { "dependencies": { "@babel/runtime": "^7.29.2", "@floating-ui/utils": "^0.2.11", "reselect": "^5.2.0", "use-sync-external-store": "^1.6.0" }, "peerDependencies": { "@types/react": "^17 || ^18 || ^19", "react": "^17 || ^18 || ^19", "react-dom": "^17 || ^18 || ^19" }, "optionalPeers": ["@types/react"] }, "sha512-gFFiltORVmW/N6IILTGxizP3PBpVpysqML1ALY5Vk0mH+7faVkCknOU31goYHN5Aoek2dkjxva1XOD2Ce9WuIg=="], - "@emnapi/runtime": ["@emnapi/runtime@1.4.5", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg=="], + "@capsizecss/unpack": ["@capsizecss/unpack@4.0.1", "", { "dependencies": { "fontkitten": "^1.0.3" } }, "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ=="], - "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.8", "", { "os": "aix", "cpu": "ppc64" }, "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA=="], + "@clack/core": ["@clack/core@1.4.2", "", { "dependencies": { "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-0Ty/1Gfm+Kb07sXcuESjyKfwEhSy4Ns1AgeEisHb/bDY5fWme0tTeTkU14T1Gmcs17YIjB/teiDe4uaCghbYqQ=="], - "@esbuild/android-arm": ["@esbuild/android-arm@0.25.8", "", { "os": "android", "cpu": "arm" }, "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw=="], + "@clack/prompts": ["@clack/prompts@1.6.0", "", { "dependencies": { "@clack/core": "1.4.2", "fast-string-width": "^3.0.2", "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" } }, "sha512-EYlRokl8szrP9Z25qT5aepMdBjzBvHF9ZEhzIiUBc9guz/T31EqRgvD0QSgZcpE93xiwrr+OkB4nz0BZyF6fSA=="], - "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.8", "", { "os": "android", "cpu": "arm64" }, "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w=="], + "@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - "@esbuild/android-x64": ["@esbuild/android-x64@0.25.8", "", { "os": "android", "cpu": "x64" }, "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="], - "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw=="], + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="], - "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg=="], + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="], - "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.8", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA=="], + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="], - "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.8", "", { "os": "freebsd", "cpu": "x64" }, "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw=="], + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="], - "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.8", "", { "os": "linux", "cpu": "arm" }, "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg=="], + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="], - "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w=="], + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="], - "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.8", "", { "os": "linux", "cpu": "ia32" }, "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg=="], + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="], - "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.8", "", { "os": "linux", "cpu": "none" }, "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ=="], + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="], - "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.8", "", { "os": "linux", "cpu": "none" }, "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw=="], + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="], - "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.8", "", { "os": "linux", "cpu": "ppc64" }, "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ=="], + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="], - "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.8", "", { "os": "linux", "cpu": "none" }, "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg=="], + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="], - "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.8", "", { "os": "linux", "cpu": "s390x" }, "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg=="], + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="], - "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.8", "", { "os": "linux", "cpu": "x64" }, "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ=="], + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="], - "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.8", "", { "os": "none", "cpu": "arm64" }, "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw=="], + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="], - "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.8", "", { "os": "none", "cpu": "x64" }, "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg=="], + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="], - "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.8", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ=="], + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="], - "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.8", "", { "os": "openbsd", "cpu": "x64" }, "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ=="], + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="], - "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.8", "", { "os": "none", "cpu": "arm64" }, "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg=="], + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="], - "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.8", "", { "os": "sunos", "cpu": "x64" }, "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w=="], + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="], - "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.8", "", { "os": "win32", "cpu": "arm64" }, "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ=="], + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="], - "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.8", "", { "os": "win32", "cpu": "ia32" }, "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg=="], + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="], - "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.8", "", { "os": "win32", "cpu": "x64" }, "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw=="], + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="], - "@floating-ui/core": ["@floating-ui/core@1.7.3", "", { "dependencies": { "@floating-ui/utils": "^0.2.10" } }, "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w=="], + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="], - "@floating-ui/dom": ["@floating-ui/dom@1.7.4", "", { "dependencies": { "@floating-ui/core": "^1.7.3", "@floating-ui/utils": "^0.2.10" } }, "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA=="], + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="], - "@floating-ui/react": ["@floating-ui/react@0.26.28", "", { "dependencies": { "@floating-ui/react-dom": "^2.1.2", "@floating-ui/utils": "^0.2.8", "tabbable": "^6.0.0" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw=="], + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="], - "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.6", "", { "dependencies": { "@floating-ui/dom": "^1.7.4" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw=="], + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], - "@floating-ui/utils": ["@floating-ui/utils@0.2.10", "", {}, "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ=="], + "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], - "@headlessui/react": ["@headlessui/react@2.2.7", "", { "dependencies": { "@floating-ui/react": "^0.26.16", "@react-aria/focus": "^3.20.2", "@react-aria/interactions": "^3.25.0", "@tanstack/react-virtual": "^3.13.9", "use-sync-external-store": "^1.5.0" }, "peerDependencies": { "react": "^18 || ^19 || ^19.0.0-rc", "react-dom": "^18 || ^19 || ^19.0.0-rc" } }, "sha512-WKdTymY8Y49H8/gUc/lIyYK1M+/6dq0Iywh4zTZVAaiTDprRfioxSgD0wnXTQTBpjpGJuTL1NO/mqEvc//5SSg=="], + "@eslint/config-array": ["@eslint/config-array@0.23.5", "", { "dependencies": { "@eslint/object-schema": "^3.0.5", "debug": "^4.3.1", "minimatch": "^10.2.4" } }, "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA=="], - "@ianvs/prettier-plugin-sort-imports": ["@ianvs/prettier-plugin-sort-imports@4.6.1", "", { "dependencies": { "@babel/generator": "^7.26.2", "@babel/parser": "^7.26.2", "@babel/traverse": "^7.25.9", "@babel/types": "^7.26.0", "semver": "^7.5.2" }, "peerDependencies": { "@prettier/plugin-oxc": "^0.0.4", "@vue/compiler-sfc": "2.7.x || 3.x", "content-tag": "^4.0.0", "prettier": "2 || 3 || ^4.0.0-0", "prettier-plugin-ember-template-tag": "^2.1.0" }, "optionalPeers": ["@prettier/plugin-oxc", "@vue/compiler-sfc", "content-tag", "prettier-plugin-ember-template-tag"] }, "sha512-Q0gujs/g6tw1uOGd1bTVLGDzAwb/UwrCehhPCQevTCYDkho8+eQSOhA0zcy9AM0XnXM1ChBWsZeE4P7Nym0pyw=="], + "@eslint/config-helpers": ["@eslint/config-helpers@0.6.0", "", { "dependencies": { "@eslint/core": "^1.2.1" } }, "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA=="], - "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="], + "@eslint/core": ["@eslint/core@1.2.1", "", { "dependencies": { "@types/json-schema": "^7.0.15" } }, "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ=="], - "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="], + "@eslint/css-tree": ["@eslint/css-tree@4.0.4", "", { "dependencies": { "mdn-data": "2.28.1", "source-map-js": "^1.2.1" } }, "sha512-nxMparyhqVWQvadx9x8dIfubfIPOE+X2b2waua8fzdnM9vdp9rgVtwEZlG0TmCwEUz/d/f40fzvO/eqBwdxz0A=="], - "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="], + "@eslint/js": ["@eslint/js@10.0.1", "", { "peerDependencies": { "eslint": "^10.0.0" }, "optionalPeers": ["eslint"] }, "sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA=="], - "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="], + "@eslint/object-schema": ["@eslint/object-schema@3.0.5", "", {}, "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw=="], - "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="], + "@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.2", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A=="], - "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="], + "@floating-ui/core": ["@floating-ui/core@1.7.5", "", { "dependencies": { "@floating-ui/utils": "^0.2.11" } }, "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ=="], - "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="], + "@floating-ui/dom": ["@floating-ui/dom@1.7.6", "", { "dependencies": { "@floating-ui/core": "^1.7.5", "@floating-ui/utils": "^0.2.11" } }, "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ=="], - "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="], + "@floating-ui/react-dom": ["@floating-ui/react-dom@2.1.8", "", { "dependencies": { "@floating-ui/dom": "^1.7.6" }, "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } }, "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A=="], - "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="], + "@floating-ui/utils": ["@floating-ui/utils@0.2.11", "", {}, "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg=="], - "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="], + "@fontsource-variable/inter": ["@fontsource-variable/inter@5.2.8", "", {}, "sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ=="], - "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="], + "@fontsource-variable/jetbrains-mono": ["@fontsource-variable/jetbrains-mono@5.2.8", "", {}, "sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q=="], - "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="], + "@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="], - "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="], + "@humanfs/node": ["@humanfs/node@0.16.8", "", { "dependencies": { "@humanfs/core": "^0.19.2", "@humanfs/types": "^0.15.0", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ=="], - "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="], + "@humanfs/types": ["@humanfs/types@0.15.0", "", {}, "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q=="], - "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="], + "@humanwhocodes/module-importer": ["@humanwhocodes/module-importer@1.0.1", "", {}, "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA=="], - "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="], + "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - "@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="], + "@hyperjump/json-schema-formats": ["@hyperjump/json-schema-formats@1.0.1", "", { "dependencies": { "@hyperjump/uri": "^1.3.2", "idn-hostname": "^15.1.2" } }, "sha512-qvcIxysnMfcPxyPSFFzzo28o2BN1CNT5b0tQXNUP0kaFpvptQNDg8SCLvlnMg2sYxuiuqna8+azGBaBthiskAw=="], - "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="], + "@hyperjump/uri": ["@hyperjump/uri@1.3.4", "", {}, "sha512-aUVWwu2GtC/cU4DwdTM+b+5jjboM6wft6vNg1+7pUTk/nNRNaBYcYhaEnCir9eRLBbkcGPkiEO7XRUlcDkxj4Q=="], - "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="], + "@ianvs/prettier-plugin-sort-imports": ["@ianvs/prettier-plugin-sort-imports@4.7.1", "", { "dependencies": { "@babel/generator": "^7.26.2", "@babel/parser": "^7.26.2", "@babel/traverse": "^7.25.9", "@babel/types": "^7.26.0", "semver": "^7.5.2" }, "peerDependencies": { "@prettier/plugin-oxc": "^0.0.4 || ^0.1.0", "@vue/compiler-sfc": "2.7.x || 3.x", "content-tag": "^4.0.0", "prettier": "2 || 3 || ^4.0.0-0", "prettier-plugin-ember-template-tag": "^2.1.0" }, "optionalPeers": ["@prettier/plugin-oxc", "@vue/compiler-sfc", "content-tag", "prettier-plugin-ember-template-tag"] }, "sha512-jmTNYGlg95tlsoG3JLCcuC4BrFELJtLirLAkQW/71lXSyOhVt/Xj7xWbbGcuVbNq1gwWgSyMrPjJc9Z30hynVw=="], + + "@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], - "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.30", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q=="], + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], "@kbox-labs/react-echarts": ["@kbox-labs/react-echarts@1.4.2", "", { "peerDependencies": { "echarts": "^5", "react": ">=16" } }, "sha512-ocXdvu5Fx7c7mHSYNlxxv3eheajfEXHztYChTlmhUt3asdPn30SRlYVtp8dGonid72WnB8uw0k2Y1V+whHQhLw=="], - "@mdx-js/mdx": ["@mdx-js/mdx@3.1.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw=="], + "@mdx-js/mdx": ["@mdx-js/mdx@3.1.1", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "acorn": "^8.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ=="], "@microsoft/fetch-event-source": ["@microsoft/fetch-event-source@2.0.1", "", {}, "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA=="], + "@nodelib/fs.scandir": ["@nodelib/fs.scandir@2.1.5", "", { "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g=="], + + "@nodelib/fs.stat": ["@nodelib/fs.stat@2.0.5", "", {}, "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="], + + "@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="], + + "@npmcli/config": ["@npmcli/config@8.3.4", "", { "dependencies": { "@npmcli/map-workspaces": "^3.0.2", "@npmcli/package-json": "^5.1.1", "ci-info": "^4.0.0", "ini": "^4.1.2", "nopt": "^7.2.1", "proc-log": "^4.2.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" } }, "sha512-01rtHedemDNhUXdicU7s+QYz/3JyV5Naj84cvdXGH4mgCdL+agmSYaLF4LUG4vMCLzhBO8YtS0gPpH1FGvbgAw=="], + + "@npmcli/git": ["@npmcli/git@5.0.8", "", { "dependencies": { "@npmcli/promise-spawn": "^7.0.0", "ini": "^4.1.3", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", "proc-log": "^4.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^4.0.0" } }, "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ=="], + + "@npmcli/map-workspaces": ["@npmcli/map-workspaces@3.0.6", "", { "dependencies": { "@npmcli/name-from-folder": "^2.0.0", "glob": "^10.2.2", "minimatch": "^9.0.0", "read-package-json-fast": "^3.0.0" } }, "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA=="], + + "@npmcli/name-from-folder": ["@npmcli/name-from-folder@2.0.0", "", {}, "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg=="], + + "@npmcli/package-json": ["@npmcli/package-json@5.2.1", "", { "dependencies": { "@npmcli/git": "^5.0.0", "glob": "^10.2.2", "hosted-git-info": "^7.0.0", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^6.0.0", "proc-log": "^4.0.0", "semver": "^7.5.3" } }, "sha512-f7zYC6kQautXHvNbLEWgD/uGu1+xCn9izgqBfgItWSx22U0ZDekxN08A1vM8cTxj/cRVe0Q94Ode+tdoYmIOOQ=="], + + "@npmcli/promise-spawn": ["@npmcli/promise-spawn@7.0.2", "", { "dependencies": { "which": "^4.0.0" } }, "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ=="], + "@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="], - "@popperjs/core": ["@popperjs/core@2.11.8", "", {}, "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="], + "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], - "@react-aria/focus": ["@react-aria/focus@3.21.1", "", { "dependencies": { "@react-aria/interactions": "^3.25.5", "@react-aria/utils": "^3.30.1", "@react-types/shared": "^3.32.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hmH1IhHlcQ2lSIxmki1biWzMbGgnhdxJUM0MFfzc71Rv6YAzhlx4kX3GYn4VNcjCeb6cdPv4RZ5vunV4kgMZYQ=="], + "@pkgr/core": ["@pkgr/core@0.3.6", "", {}, "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA=="], - "@react-aria/interactions": ["@react-aria/interactions@3.25.5", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-aria/utils": "^3.30.1", "@react-stately/flags": "^3.1.2", "@react-types/shared": "^3.32.0", "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-EweYHOEvMwef/wsiEqV73KurX/OqnmbzKQa2fLxdULbec5+yDj6wVGaRHIzM4NiijIDe+bldEl5DG05CAKOAHA=="], + "@popperjs/core": ["@popperjs/core@2.11.8", "", {}, "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A=="], - "@react-aria/ssr": ["@react-aria/ssr@3.9.10", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-hvTm77Pf+pMBhuBm760Li0BVIO38jv1IBws1xFm1NoL26PU+fe+FMW5+VZWyANR6nYL65joaJKZqOdTQMkO9IQ=="], + "@reactuses/core": ["@reactuses/core@6.3.2", "", { "dependencies": { "@microsoft/fetch-event-source": "^2.0.1", "js-cookie": "^3.0.5", "lodash-es": "^4.17.21", "screenfull": "^5.0.0", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { "qrcode": "^1.5", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["qrcode"] }, "sha512-KTQkPbepgoB1LxtREH9jlAdUqaVoKzlbYGct9oLNM3gnCGo5bWy1zObT9sVRPF04AxKCPqh4deVFYRaS50fQxQ=="], - "@react-aria/utils": ["@react-aria/utils@3.30.1", "", { "dependencies": { "@react-aria/ssr": "^3.9.10", "@react-stately/flags": "^3.1.2", "@react-stately/utils": "^3.10.8", "@react-types/shared": "^3.32.0", "@swc/helpers": "^0.5.0", "clsx": "^2.0.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1", "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-zETcbDd6Vf9GbLndO6RiWJadIZsBU2MMm23rBACXLmpRztkrIqPEb2RVdlLaq1+GklDx0Ii6PfveVjx+8S5U6A=="], + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], - "@react-stately/flags": ["@react-stately/flags@3.1.2", "", { "dependencies": { "@swc/helpers": "^0.5.0" } }, "sha512-2HjFcZx1MyQXoPqcBGALwWWmgFVUk2TuKVIQxCbRq7fPyWXIl6VHcakCLurdtYC2Iks7zizvz0Idv48MQ38DWg=="], + "@rollup/pluginutils": ["@rollup/pluginutils@5.4.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg=="], - "@react-stately/utils": ["@react-stately/utils@3.10.8", "", { "dependencies": { "@swc/helpers": "^0.5.0" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-SN3/h7SzRsusVQjQ4v10LaVsDc81jyyR0DD5HnsQitm/I5WDpaSr2nRHtyloPFU48jlql1XX/S04T2DLQM7Y3g=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.62.2", "", { "os": "android", "cpu": "arm" }, "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg=="], - "@react-types/shared": ["@react-types/shared@3.32.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, "sha512-t+cligIJsZYFMSPFMvsJMjzlzde06tZMOIOFa1OV5Z0BcMowrb2g4mB57j/9nP28iJIRYn10xCniQts+qadrqQ=="], + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.62.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw=="], - "@reactuses/core": ["@reactuses/core@6.0.6", "", { "dependencies": { "@microsoft/fetch-event-source": "^2.0.1", "@testing-library/dom": "^10.4.0", "js-cookie": "^3.0.5", "lodash-es": "^4.17.21", "screenfull": "^5.0.0", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { "qrcode": "^1.5", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "optionalPeers": ["qrcode"] }, "sha512-2tBQUHfMmGHhLlZNhb9uC/Ai82UnqRJC7N5V3ArMVbffkson3IPgQtPPdWIdBXTjvBnVlIRaMH11WA/W7Ovcag=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.62.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A=="], - "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.27", "", {}, "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA=="], + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.62.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA=="], - "@rollup/pluginutils": ["@rollup/pluginutils@5.2.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw=="], + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.62.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.46.2", "", { "os": "android", "cpu": "arm" }, "sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA=="], + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.62.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg=="], - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.46.2", "", { "os": "android", "cpu": "arm64" }, "sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ=="], + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.62.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.46.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ=="], + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.62.2", "", { "os": "linux", "cpu": "arm" }, "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA=="], - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.46.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA=="], + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.62.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA=="], - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.46.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg=="], + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.62.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ=="], - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.46.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw=="], + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg=="], - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.46.2", "", { "os": "linux", "cpu": "arm" }, "sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA=="], + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ=="], - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.46.2", "", { "os": "linux", "cpu": "arm" }, "sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ=="], + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.62.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A=="], - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.46.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng=="], + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.62.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w=="], - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.46.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg=="], + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg=="], - "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.46.2", "", { "os": "linux", "cpu": "none" }, "sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA=="], + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q=="], - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.46.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw=="], + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.62.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg=="], - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.46.2", "", { "os": "linux", "cpu": "none" }, "sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ=="], + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.62.2", "", { "os": "linux", "cpu": "x64" }, "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A=="], - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.46.2", "", { "os": "linux", "cpu": "none" }, "sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw=="], + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.62.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg=="], - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.46.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA=="], + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.62.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg=="], - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.46.2", "", { "os": "linux", "cpu": "x64" }, "sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA=="], + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.62.2", "", { "os": "none", "cpu": "arm64" }, "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA=="], - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.46.2", "", { "os": "linux", "cpu": "x64" }, "sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA=="], + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.62.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg=="], - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.46.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g=="], + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.62.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q=="], - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.46.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ=="], + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.62.2", "", { "os": "win32", "cpu": "x64" }, "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg=="], - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.46.2", "", { "os": "win32", "cpu": "x64" }, "sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg=="], + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.2", "", { "os": "win32", "cpu": "x64" }, "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA=="], - "@sagold/json-pointer": ["@sagold/json-pointer@7.1.2", "", {}, "sha512-N/DB+meoKKXmGVCiMfCRv8KGoEfRNtI+GJql6Zlp3x/AjIB+FBsqQ8Ro9Demm66P1S8SEzODKTS3IPxqVtgqEg=="], + "@sagold/json-pointer": ["@sagold/json-pointer@7.2.1", "", {}, "sha512-8EX4r5Royl5M3qNPTh5W5njdOtRqbWgQfVv26DbzjGj2/55b60EqvbiqUIglzw7fADfY/Io6jDJxGNJHmC+g8g=="], - "@sagold/json-query": ["@sagold/json-query@6.2.0", "", { "dependencies": { "@sagold/json-pointer": "^5.1.2", "ebnf": "^1.9.1" } }, "sha512-7bOIdUE6eHeoWtFm8TvHQHfTVSZuCs+3RpOKmZCDBIOrxpvF/rNFTeuvIyjHva/RR0yVS3kQtr+9TW72LQEZjA=="], + "@shikijs/core": ["@shikijs/core@4.2.0", "", { "dependencies": { "@shikijs/primitive": "4.2.0", "@shikijs/types": "4.2.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-Hc87Ab1Ld/vEbZRCbwx344I5v+4RU8CVToUTRkqXL1+TjbuOp9U5Xa0M23V4GEWHxVn+yO5otb+HkQVm3ptWQQ=="], - "@shikijs/core": ["@shikijs/core@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA=="], + "@shikijs/engine-javascript": ["@shikijs/engine-javascript@4.2.0", "", { "dependencies": { "@shikijs/types": "4.2.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.6" } }, "sha512-fjETeq1k5ffyXqRgS6+3hpvqseLalp1kjNfRbXpUgWR8FpZ1CmQfiNHovc5lncYjt/Vg5JK/WJEmLahjwMa0og=="], - "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, "sha512-kUTRVKPsB/28H5Ko6qEsyudBiWEDLst+Sfi+hwr59E0GLHV0h8RfgbQU7fdN5Lt9A8R1ulRiZyTvAizkROjwDA=="], + "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@4.2.0", "", { "dependencies": { "@shikijs/types": "4.2.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-hTorK1dffPkpbMUk6Z+828PgRo7d07HbnizoP0hNPFjhxMHctj0Px/qoHeGMYafc6ju+u9iMldN4JbVzNQM++g=="], - "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-Vn/w5oyQ6TUgTVDIC/BrpXwIlfK6V6kGWDVVz2eRkF2v13YoENUvaNwxMsQU/t6oCuZKzqp9vqtEtEzKl9VegA=="], + "@shikijs/langs": ["@shikijs/langs@4.2.0", "", { "dependencies": { "@shikijs/types": "4.2.0" } }, "sha512-bwrVRlJ0wUhZxAbVdvBbv2TTC9yLsh4C/IO5Ofz0T8MQntgDvyVnkbjw9vi50r1kx7RCIJdnJnjZAwmAsXFLZQ=="], - "@shikijs/langs": ["@shikijs/langs@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2" } }, "sha512-X1Q6wRRQXY7HqAuX3I8WjMscjeGjqXCg/Sve7J2GWFORXkSrXud23UECqTBIdCSNKJioFtmUGJQNKtlMMZMn0w=="], + "@shikijs/primitive": ["@shikijs/primitive@4.2.0", "", { "dependencies": { "@shikijs/types": "4.2.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-NOq+DtUkVBJtZMVXL5A0vI0Xk8nvDYaXetFHSJFlOqjDZIVhIPRYFdGkSoElDqNuegikcc3A76SNUa8dTqtAYA=="], - "@shikijs/themes": ["@shikijs/themes@3.9.2", "", { "dependencies": { "@shikijs/types": "3.9.2" } }, "sha512-6z5lBPBMRfLyyEsgf6uJDHPa6NAGVzFJqH4EAZ+03+7sedYir2yJBRu2uPZOKmj43GyhVHWHvyduLDAwJQfDjA=="], + "@shikijs/themes": ["@shikijs/themes@4.2.0", "", { "dependencies": { "@shikijs/types": "4.2.0" } }, "sha512-RX8IHYeLv8Cu2W6ruc3RxUqWn0IYCqSrMBzi/uRGAmfyDNOnNO5BF/Px7o97n4XTpmFTo5GbRaazuOWj+2ak2w=="], - "@shikijs/types": ["@shikijs/types@3.9.2", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/M5L0Uc2ljyn2jKvj4Yiah7ow/W+DJSglVafvWAJ/b8AZDeeRAdMu3c2riDzB7N42VD+jSnWxeP9AKtd4TfYVw=="], + "@shikijs/types": ["@shikijs/types@4.2.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-VT/MKtlpOhEPZloSH3Pb9WCZEBDoQVMa9jedp5UAwmJOar1DVc9DRODAxmYPW9M93IK4ryuqRejFfmlvlVDemw=="], "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="], @@ -327,19 +419,43 @@ "@svgr/plugin-jsx": ["@svgr/plugin-jsx@8.1.0", "", { "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", "@svgr/hast-util-to-babel-ast": "8.0.0", "svg-parser": "^2.0.4" }, "peerDependencies": { "@svgr/core": "*" } }, "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA=="], - "@swc/helpers": ["@swc/helpers@0.5.17", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A=="], + "@tabler/icons": ["@tabler/icons@3.44.0", "", {}, "sha512-Wn0AOZG9sg0L+bjfMqq4eNhC6pQjIrk94LvvWYNYkY8KH8wC3YILRzQlrnVJc4FUeMxH/AK97QsYCX35H3LndA=="], - "@tanstack/react-table": ["@tanstack/react-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww=="], + "@tabler/icons-react": ["@tabler/icons-react@3.44.0", "", { "dependencies": { "@tabler/icons": "3.44.0" }, "peerDependencies": { "react": ">= 16" } }, "sha512-8+rvzBbVm/1Z3sG3x7GUNAaxIKxwgz8xaMhRs23nrCnMTKRFAhEC+82zAIFeAA0seXdrAGX5HFCkaLpGK2rVHg=="], - "@tanstack/react-virtual": ["@tanstack/react-virtual@3.13.12", "", { "dependencies": { "@tanstack/virtual-core": "3.13.12" }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Gd13QdxPSukP8ZrkbgS2RwoZseTTbQPLnQEn7HY/rqtM+8Zt95f7xKC7N0EsKs7aoz0WzZ+fditZux+F8EzYxA=="], + "@tailwindcss/node": ["@tailwindcss/node@4.3.1", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "5.21.6", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.1" } }, "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A=="], - "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], + "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.1", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.1", "@tailwindcss/oxide-darwin-arm64": "4.3.1", "@tailwindcss/oxide-darwin-x64": "4.3.1", "@tailwindcss/oxide-freebsd-x64": "4.3.1", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", "@tailwindcss/oxide-linux-x64-musl": "4.3.1", "@tailwindcss/oxide-wasm32-wasi": "4.3.1", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" } }, "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA=="], + + "@tailwindcss/oxide-android-arm64": ["@tailwindcss/oxide-android-arm64@4.3.1", "", { "os": "android", "cpu": "arm64" }, "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ=="], + + "@tailwindcss/oxide-darwin-arm64": ["@tailwindcss/oxide-darwin-arm64@4.3.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA=="], + + "@tailwindcss/oxide-darwin-x64": ["@tailwindcss/oxide-darwin-x64@4.3.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg=="], + + "@tailwindcss/oxide-freebsd-x64": ["@tailwindcss/oxide-freebsd-x64@4.3.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g=="], + + "@tailwindcss/oxide-linux-arm-gnueabihf": ["@tailwindcss/oxide-linux-arm-gnueabihf@4.3.1", "", { "os": "linux", "cpu": "arm" }, "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg=="], + + "@tailwindcss/oxide-linux-arm64-gnu": ["@tailwindcss/oxide-linux-arm64-gnu@4.3.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ=="], - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.13.12", "", {}, "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA=="], + "@tailwindcss/oxide-linux-arm64-musl": ["@tailwindcss/oxide-linux-arm64-musl@4.3.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA=="], - "@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="], + "@tailwindcss/oxide-linux-x64-gnu": ["@tailwindcss/oxide-linux-x64-gnu@4.3.1", "", { "os": "linux", "cpu": "x64" }, "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg=="], - "@types/aria-query": ["@types/aria-query@5.0.4", "", {}, "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw=="], + "@tailwindcss/oxide-linux-x64-musl": ["@tailwindcss/oxide-linux-x64-musl@4.3.1", "", { "os": "linux", "cpu": "x64" }, "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ=="], + + "@tailwindcss/oxide-wasm32-wasi": ["@tailwindcss/oxide-wasm32-wasi@4.3.1", "", { "dependencies": { "@emnapi/core": "^1.10.0", "@emnapi/runtime": "^1.10.0", "@emnapi/wasi-threads": "^1.2.1", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" }, "cpu": "none" }, "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA=="], + + "@tailwindcss/oxide-win32-arm64-msvc": ["@tailwindcss/oxide-win32-arm64-msvc@4.3.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg=="], + + "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.1", "", { "os": "win32", "cpu": "x64" }, "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA=="], + + "@tailwindcss/vite": ["@tailwindcss/vite@4.3.1", "", { "dependencies": { "@tailwindcss/node": "4.3.1", "@tailwindcss/oxide": "4.3.1", "tailwindcss": "4.3.1" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" } }, "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ=="], + + "@tanstack/react-table": ["@tanstack/react-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "react": ">=16.8", "react-dom": ">=16.8" } }, "sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww=="], + + "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], @@ -349,51 +465,83 @@ "@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="], - "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="], + "@types/concat-stream": ["@types/concat-stream@2.0.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-3qe4oQAPNwVNwK4C9c8u+VJqv9kez+2MR4qJpoPFfXtgxxif1QbFusvXzK0/Wra2VX07smostI2VMmJNSpZjuQ=="], - "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + "@types/debug": ["@types/debug@4.1.13", "", { "dependencies": { "@types/ms": "*" } }, "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw=="], - "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], + "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="], - "@types/fontkit": ["@types/fontkit@2.0.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew=="], + "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], + + "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="], "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="], - "@types/lodash": ["@types/lodash@4.17.20", "", {}, "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA=="], + "@types/is-empty": ["@types/is-empty@1.2.3", "", {}, "sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw=="], + + "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], + + "@types/lodash": ["@types/lodash@4.17.24", "", {}, "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ=="], "@types/lodash-es": ["@types/lodash-es@4.17.12", "", { "dependencies": { "@types/lodash": "*" } }, "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ=="], "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="], - "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="], + "@types/mdx": ["@types/mdx@2.0.14", "", {}, "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg=="], "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="], - "@types/node": ["@types/node@24.2.1", "", { "dependencies": { "undici-types": "~7.10.0" } }, "sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ=="], + "@types/node": ["@types/node@26.0.0", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-vf2YFi1iY9lHGwNJMs01biZFbKJkrZR1T6/MlzjhJLPdntOHLhTrDSnSVcdtvjihi4VQNlrFRIxLsDBlQpAipA=="], + + "@types/plotly.js": ["@types/plotly.js@3.0.10", "", {}, "sha512-q+MgO4aajC2HrO7FllTYWzrpdfbTjboSMfjkz/aXKjg1v7HNo1zMEFfAW7quKfk6SL+bH74A5ThBEps/7hZxOA=="], - "@types/node-fetch": ["@types/node-fetch@2.6.13", "", { "dependencies": { "@types/node": "*", "form-data": "^4.0.4" } }, "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw=="], + "@types/react": ["@types/react@19.2.17", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw=="], - "@types/react": ["@types/react@19.1.10", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg=="], + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], - "@types/react-dom": ["@types/react-dom@19.1.7", "", { "peerDependencies": { "@types/react": "^19.0.0" } }, "sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw=="], + "@types/supports-color": ["@types/supports-color@8.1.3", "", {}, "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg=="], "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="], - "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="], + "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.61.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/type-utils": "8.61.1", "@typescript-eslint/utils": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.61.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-ZPlVl3PB3et/59Ne0fv/sci6ZXz4T4Hp4nTJ56i/Y0gR89ARb+KphojTq6j+56E5PIezmOIOOWyY+aWQFd+IkQ=="], + + "@typescript-eslint/parser": ["@typescript-eslint/parser@8.61.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PJ5vePq5/ognBbrIcoC5+SHO5dfpeLPzP9FpLkzWrguoYQEeeSjlJpVwOpo1JRSTEi7dRcwNy4h4dzV70PqHcg=="], + + "@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.61.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.61.1", "@typescript-eslint/types": "^8.61.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-PrC4JYGmR241lYnfhmKGTXkFqv8+ymbTFgSAY0fVXpY82/QkMw5TZPl+vGzuDDU2QYJk9fIDOBTntF+yDv9LEA=="], + + "@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1" } }, "sha512-L2bdIeoQS8FlKAvONAr20w6OcLXeB+qiDKbAooS9A0Ben+iSIkBef0FxqwKWYqt5sa0i4KJtxVyVmhMylKzF5w=="], + + "@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.61.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-UN/H4di+OO7EWx2ovME+8t31YO+KVnK0RRKEHR3kOt21/Ay8BOq3M1OMvWs5vNiqcFCYGYoxK3MXPZzmMUE+yg=="], + + "@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/utils": "8.61.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-GYRicKmVK0C4fsKgaACaknOUAq9Oa2kwsjnpFhFcS/5p4Ht5IP9OVLbgIgcK4SRk92nVHFluurg1lumD9dBcLw=="], + + "@typescript-eslint/types": ["@typescript-eslint/types@8.61.1", "", {}, "sha512-G+CRlPqLv7Bz1IZVs03x5K59F1veqL0EJUROAdGhKsEq8qOiRiZbI+HUojPq5l0fEGOKModD9br6lObhB8zkoA=="], + + "@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.61.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.61.1", "@typescript-eslint/tsconfig-utils": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/visitor-keys": "8.61.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-u+oQD3BqYWPc8YV9Zab4vaJElJuwOLPRc10Jm1o/qS+6Qwen14HCWwx0Seo4LnSn2wxea2Ik8DxPt2/FHmuhrg=="], + + "@typescript-eslint/utils": ["@typescript-eslint/utils@8.61.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.61.1", "@typescript-eslint/types": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-1+P/3Dj6jvtybE1q0HQ6yBt/gq+oKJyLdEv4HdnqasaEXRSYCAsD59mXEVQnM/ULNdQxbX77tdG4jPRjIS6knA=="], + + "@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.61.1", "", { "dependencies": { "@typescript-eslint/types": "8.61.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-6fJ9MHWtK14C1DSkiMlHUSOmrVebL7150xZJBlJiL62jjhIA4JmOq6flwBgDxIdBKKdoiZRel+dfPD5MLfny3w=="], - "@vitejs/plugin-react": ["@vitejs/plugin-react@4.7.0", "", { "dependencies": { "@babel/core": "^7.28.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-beta.27", "@types/babel__core": "^7.20.5", "react-refresh": "^0.17.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA=="], + "@ungap/structured-clone": ["@ungap/structured-clone@1.3.1", "", {}, "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ=="], - "acorn": ["acorn@8.15.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg=="], + "@valibot/to-json-schema": ["@valibot/to-json-schema@1.7.1", "", { "peerDependencies": { "valibot": "^1.4.0" } }, "sha512-3qkmU6KXWh8GIThEAW3kuRHPQBMjWkKy+Ppz3WkUucx53DTpOa6siMn4xDGSOhlVyMrDaJTCTMLYPZVAIk1P0A=="], + + "@vitejs/plugin-react": ["@vitejs/plugin-react@6.0.2", "", { "dependencies": { "@rolldown/pluginutils": "^1.0.0" }, "peerDependencies": { "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", "babel-plugin-react-compiler": "^1.0.0", "vite": "^8.0.0" }, "optionalPeers": ["@rolldown/plugin-babel", "babel-plugin-react-compiler"] }, "sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg=="], + + "abbrev": ["abbrev@2.0.0", "", {}, "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ=="], + + "acorn": ["acorn@8.17.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg=="], "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], - "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="], + "ajv": ["ajv@6.15.0", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw=="], - "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], - "ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + "ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="], @@ -401,43 +549,69 @@ "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], + "array-buffer-byte-length": ["array-buffer-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "is-array-buffer": "^3.0.5" } }, "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw=="], + + "array-includes": ["array-includes@3.1.9", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.0", "es-object-atoms": "^1.1.1", "get-intrinsic": "^1.3.0", "is-string": "^1.1.1", "math-intrinsics": "^1.1.0" } }, "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ=="], + "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="], + "array.prototype.flat": ["array.prototype.flat@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg=="], + + "array.prototype.flatmap": ["array.prototype.flatmap@1.3.3", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-shim-unscopables": "^1.0.2" } }, "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg=="], + + "arraybuffer.prototype.slice": ["arraybuffer.prototype.slice@1.0.4", "", { "dependencies": { "array-buffer-byte-length": "^1.0.1", "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.5", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "is-array-buffer": "^3.0.4" } }, "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ=="], + + "ast-types-flow": ["ast-types-flow@0.0.8", "", {}, "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ=="], + "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="], - "astro": ["astro@5.12.9", "", { "dependencies": { "@astrojs/compiler": "^2.12.2", "@astrojs/internal-helpers": "0.7.1", "@astrojs/markdown-remark": "6.3.5", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^2.4.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.1.4", "acorn": "^8.14.1", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", "ci-info": "^4.2.0", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.0.2", "cssesc": "^3.0.0", "debug": "^4.4.0", "deterministic-object-hash": "^2.0.2", "devalue": "^5.1.1", "diff": "^5.2.0", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.6.0", "esbuild": "^0.25.0", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "fontace": "~0.3.0", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.1.1", "import-meta-resolve": "^4.1.0", "js-yaml": "^4.1.0", "kleur": "^4.1.5", "magic-string": "^0.30.17", "magicast": "^0.3.5", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.0", "package-manager-detector": "^1.1.0", "picomatch": "^4.0.2", "prompts": "^2.4.2", "rehype": "^13.0.2", "semver": "^7.7.1", "shiki": "^3.2.1", "smol-toml": "^1.3.4", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.12", "tsconfck": "^3.1.5", "ultrahtml": "^1.6.0", "unifont": "~0.5.0", "unist-util-visit": "^5.0.0", "unstorage": "^1.15.0", "vfile": "^6.0.3", "vite": "^6.3.4", "vitefu": "^1.0.6", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", "yocto-spinner": "^0.2.1", "zod": "^3.24.4", "zod-to-json-schema": "^3.24.5", "zod-to-ts": "^1.2.0" }, "optionalDependencies": { "sharp": "^0.33.3" }, "bin": { "astro": "astro.js" } }, "sha512-cZ7kZ61jyE5nwSrFKSRyf5Gds+uJELqQxJFqMkcgiWQvhWZJUSShn8Uz3yc9WLyLw5Kim5P5un9SkJSGogfEZQ=="], + "astro": ["astro@6.4.8", "", { "dependencies": { "@astrojs/compiler": "^4.0.0", "@astrojs/internal-helpers": "0.10.0", "@astrojs/markdown-remark": "7.2.0", "@astrojs/telemetry": "3.3.2", "@capsizecss/unpack": "^4.0.0", "@clack/prompts": "^1.1.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.3.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "ci-info": "^4.4.0", "clsx": "^2.1.1", "common-ancestor-path": "^2.0.0", "cookie": "^1.1.1", "devalue": "^5.8.1", "diff": "^8.0.3", "dset": "^3.1.4", "es-module-lexer": "^2.0.0", "esbuild": "^0.27.3", "flattie": "^1.1.1", "fontace": "~0.4.1", "get-tsconfig": "5.0.0-beta.4", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.2.0", "js-yaml": "^4.1.1", "jsonc-parser": "^3.3.1", "magic-string": "^0.30.21", "magicast": "^0.5.2", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "obug": "^2.1.1", "p-limit": "^7.3.0", "p-queue": "^9.1.0", "package-manager-detector": "^1.6.0", "piccolore": "^0.1.3", "picomatch": "^4.0.4", "rehype": "^13.0.2", "semver": "^7.7.4", "shiki": "^4.0.2", "smol-toml": "^1.6.0", "svgo": "^4.0.1", "tinyclip": "^0.1.12", "tinyexec": "^1.0.4", "tinyglobby": "^0.2.15", "ultrahtml": "^1.6.0", "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.5", "vfile": "^6.0.3", "vite": "^7.3.2", "vitefu": "^1.1.2", "xxhash-wasm": "^1.1.0", "yargs-parser": "^22.0.0", "zod": "^4.3.6" }, "optionalDependencies": { "sharp": "^0.34.0" }, "bin": { "astro": "./bin/astro.mjs" } }, "sha512-KK5lX90uU9EeVaTjINyj3sy9/NFXVa59aowaqbWBDDKLXZh4rr7GwIaCFYVetE22MJtsCNFerQXn0vlCLmpP/Q=="], + + "astro-eslint-parser": ["astro-eslint-parser@1.4.0", "", { "dependencies": { "@astrojs/compiler": "^2.0.0 || ^3.0.0", "@typescript-eslint/scope-manager": "^7.0.0 || ^8.0.0", "@typescript-eslint/types": "^7.0.0 || ^8.0.0", "astrojs-compiler-sync": "^1.0.0", "debug": "^4.3.4", "entities": "^7.0.0", "eslint-scope": "^8.0.1", "eslint-visitor-keys": "^4.0.0", "espree": "^10.0.0", "fast-glob": "^3.3.3", "is-glob": "^4.0.3", "semver": "^7.3.8" } }, "sha512-+QDcgc7e+au6EZ0YjMmRRjNoQo5bDMlaR45aWDoFsuxQTCM9qmCHRoiKJPELgckJ8Wmr7vcfpa9eCDHBFh6G4w=="], "astro-google-analytics": ["astro-google-analytics@1.0.3", "", {}, "sha512-5bD7jA15yxVaUFVVEFG6KKMphYJ4AKP4+HSqCVBpTBnqh8LL0giTdAHpG9KJs3JaFbGQUTWP5Pqt8+twz7f55Q=="], - "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="], + "astrojs-compiler-sync": ["astrojs-compiler-sync@1.1.1", "", { "dependencies": { "synckit": "^0.11.0" }, "peerDependencies": { "@astrojs/compiler": ">=0.27.0" } }, "sha512-0mKvB9sDQRIZPsEJadw6OaFbGJ92cJPPR++ICca9XEyiUAZqgVuk25jNmzHPT0KF80rI94trSZrUR5iHFXGGOQ=="], + + "async-function": ["async-function@1.0.0", "", {}, "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA=="], + + "available-typed-arrays": ["available-typed-arrays@1.0.7", "", { "dependencies": { "possible-typed-array-names": "^1.0.0" } }, "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ=="], + + "axe-core": ["axe-core@4.12.1", "", {}, "sha512-s7iGf5GaVMxEG0ENN9x+xTr7GFZCb1ZP/1uATUpCEK2X78nDB3RwbtFCo9pGAf9ru+VwoQ464DkaLEeRM08wJA=="], "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="], "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="], - "base-64": ["base-64@1.0.0", "", {}, "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="], + "balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="], + + "baseline-browser-mapping": ["baseline-browser-mapping@2.10.38", "", { "bin": { "baseline-browser-mapping": "dist/cli.cjs" } }, "sha512-31/02mVB4yuQU6adKk5SlY6m+mxDwUq5KZkyYgnLrrKl7TEm1+3PyDtDBz2kOv/wxZz41GHsvV1A/u6RmiyBvw=="], + + "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="], - "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + "brace-expansion": ["brace-expansion@5.0.6", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g=="], - "blob-to-buffer": ["blob-to-buffer@1.2.9", "", {}, "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA=="], + "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], - "boxen": ["boxen@8.0.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^8.0.0", "chalk": "^5.3.0", "cli-boxes": "^3.0.0", "string-width": "^7.2.0", "type-fest": "^4.21.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0" } }, "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw=="], + "browserslist": ["browserslist@4.28.2", "", { "dependencies": { "baseline-browser-mapping": "^2.10.12", "caniuse-lite": "^1.0.30001782", "electron-to-chromium": "^1.5.328", "node-releases": "^2.0.36", "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg=="], - "brotli": ["brotli@1.3.3", "", { "dependencies": { "base64-js": "^1.1.2" } }, "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg=="], + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], - "browserslist": ["browserslist@4.25.2", "", { "dependencies": { "caniuse-lite": "^1.0.30001733", "electron-to-chromium": "^1.5.199", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" } }, "sha512-0si2SJK3ooGzIawRu61ZdPCO1IncZwS8IzuX73sPZsXW6EQ/w/DAfPyKI8l1ETTCr2MnvqWitmlCUxgdul45jA=="], + "call-bind": ["call-bind@1.0.9", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "get-intrinsic": "^1.3.0", "set-function-length": "^1.2.2" } }, "sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ=="], "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + "callsites": ["callsites@3.1.0", "", {}, "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="], "camelcase": ["camelcase@6.3.0", "", {}, "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA=="], - "caniuse-lite": ["caniuse-lite@1.0.30001734", "", {}, "sha512-uhE1Ye5vgqju6OI71HTQqcBCZrvHugk0MjLak7Q+HfoBgoq5Bi+5YnwjP4fjDgrtYr/l8MVRBvzz9dPD4KyK0A=="], + "caniuse-lite": ["caniuse-lite@1.0.30001799", "", {}, "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw=="], "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="], - "chalk": ["chalk@5.5.0", "", {}, "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg=="], + "chalk": ["chalk@4.1.2", "", { "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } }, "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA=="], "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="], @@ -447,65 +621,73 @@ "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="], - "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "ci-info": ["ci-info@4.3.0", "", {}, "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ=="], - - "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="], + "chokidar": ["chokidar@5.0.0", "", { "dependencies": { "readdirp": "^5.0.0" } }, "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw=="], - "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="], + "ci-info": ["ci-info@4.4.0", "", {}, "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg=="], "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], - "codsen-utils": ["codsen-utils@1.6.8", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-8GESpsIuEsprHKuTWen1KO221gxyA+PDUXSZq0ywo5G5IcqmPtqTOw5BAljQUz2GdOe8TcWcH896qYb8gdxHFA=="], + "codsen-utils": ["codsen-utils@1.7.3", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-YIFQQ1n2NSgwoB3sCe7RpkZzsrPxTMek6jc7wC9fXOm1wwfWAKja9gLOMEjlXOUd3LKV3o6Jci7n9BoHs5Z8Sg=="], "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="], - "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="], - "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], - "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="], + "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], - "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="], + "commander": ["commander@11.1.0", "", {}, "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ=="], - "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="], + "common-ancestor-path": ["common-ancestor-path@2.0.0", "", {}, "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng=="], - "commander": ["commander@2.20.3", "", {}, "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="], + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], - "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="], + "concat-stream": ["concat-stream@2.0.0", "", { "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.0.2", "typedarray": "^0.0.6" } }, "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="], "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="], - "cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="], + "cookie": ["cookie@1.1.1", "", {}, "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ=="], - "cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="], + "cookie-es": ["cookie-es@1.2.3", "", {}, "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw=="], "cosmiconfig": ["cosmiconfig@8.3.6", "", { "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "peerDependencies": { "typescript": ">=4.9.5" }, "optionalPeers": ["typescript"] }, "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA=="], - "cross-fetch": ["cross-fetch@3.2.0", "", { "dependencies": { "node-fetch": "^2.7.0" } }, "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q=="], + "cross-spawn": ["cross-spawn@7.0.6", "", { "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA=="], "crossws": ["crossws@0.3.5", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA=="], - "css-declaration-sorter": ["css-declaration-sorter@7.2.0", "", { "peerDependencies": { "postcss": "^8.0.9" } }, "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow=="], + "css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="], - "css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="], + "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], + + "css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="], "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="], - "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], + "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="], + + "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], - "debug": ["debug@4.4.1", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ=="], + "damerau-levenshtein": ["damerau-levenshtein@1.0.8", "", {}, "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA=="], - "decode-named-character-reference": ["decode-named-character-reference@1.2.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q=="], + "data-view-buffer": ["data-view-buffer@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ=="], - "deepmerge": ["deepmerge@4.3.1", "", {}, "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="], + "data-view-byte-length": ["data-view-byte-length@1.0.2", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-data-view": "^1.0.2" } }, "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ=="], - "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + "data-view-byte-offset": ["data-view-byte-offset@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" } }, "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ=="], - "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "decode-named-character-reference": ["decode-named-character-reference@1.3.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q=="], + + "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], + + "define-data-property": ["define-data-property@1.1.4", "", { "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", "gopd": "^1.0.1" } }, "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="], + + "define-properties": ["define-properties@1.2.1", "", { "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" } }, "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg=="], + + "defu": ["defu@6.1.7", "", {}, "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ=="], "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], @@ -513,23 +695,21 @@ "detect-europe-js": ["detect-europe-js@0.1.2", "", {}, "sha512-lgdERlL3u0aUdHocoouzT10d9I89VVhk0qNRmll7mXdGfJT1/wqZ2ZLA4oJAjeACPY5fT1wsbq2AT+GkuInsow=="], - "detect-libc": ["detect-libc@2.0.4", "", {}, "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA=="], - - "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], - "devalue": ["devalue@5.1.1", "", {}, "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="], + "devalue": ["devalue@5.8.1", "", {}, "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw=="], "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="], - "dfa": ["dfa@1.2.0", "", {}, "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="], + "diff": ["diff@8.0.4", "", {}, "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw=="], - "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="], + "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="], - "discontinuous-range": ["discontinuous-range@1.0.0", "", {}, "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ=="], + "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="], - "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="], + "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - "dom-accessibility-api": ["dom-accessibility-api@0.5.16", "", {}, "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg=="], + "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], "dot-case": ["dot-case@3.0.4", "", { "dependencies": { "no-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w=="], @@ -537,37 +717,81 @@ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], - "ebnf": ["ebnf@1.9.1", "", { "bin": { "ebnf": "dist/bin.js" } }, "sha512-uW2UKSsuty9ANJ3YByIQE4ANkD8nqUPO7r6Fwcc1ADKPe9FRdcPpMl3VEput4JSvKBJ4J86npIC2MLP0pYkCuw=="], + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], - "echarts": ["echarts@6.0.0", "", { "dependencies": { "tslib": "2.3.0", "zrender": "6.0.0" } }, "sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ=="], + "echarts": ["echarts@6.1.0", "", { "dependencies": { "tslib": "2.3.0", "zrender": "6.1.0" } }, "sha512-q0yaFPggC9FUdsWH4blavRWFmxdrIodbkoKNAjJudAI6CA9gNPxHtV2RcZNEepZVlk4yvBYkOkbk6HIVpIyHZA=="], - "electron-to-chromium": ["electron-to-chromium@1.5.200", "", {}, "sha512-rFCxROw7aOe4uPTfIAx+rXv9cEcGx+buAF4npnhtTqCJk5KDFRnh3+KYj7rdVh6lsFt5/aPs+Irj9rZ33WMA7w=="], + "electron-to-chromium": ["electron-to-chromium@1.5.376", "", {}, "sha512-cUVA7/RvbFTEuw/i3obUwDTRIXojaxkResf+ibByPFxjc6XK3VNtcQXV0NSbAlJ0FMjcJGgftVVB4Qo184EXvA=="], - "emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="], + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], - "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], + "enhanced-resolve": ["enhanced-resolve@5.24.0", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-SkE2t82KlkkxQRVMVLAGKxLfORGQfrkx5dkj+vlgXRVNEdPc4eZcR+J/Fvj8C+yKSFH5L0q3NFlyufOVQnCcYQ=="], - "error-ex": ["error-ex@1.3.2", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="], + "entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="], + + "err-code": ["err-code@2.0.3", "", {}, "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="], + + "error-ex": ["error-ex@1.3.4", "", { "dependencies": { "is-arrayish": "^0.2.1" } }, "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ=="], + + "es-abstract": ["es-abstract@1.24.2", "", { "dependencies": { "array-buffer-byte-length": "^1.0.2", "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "call-bound": "^1.0.4", "data-view-buffer": "^1.0.2", "data-view-byte-length": "^1.0.2", "data-view-byte-offset": "^1.0.1", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "es-set-tostringtag": "^2.1.0", "es-to-primitive": "^1.3.0", "function.prototype.name": "^1.1.8", "get-intrinsic": "^1.3.0", "get-proto": "^1.0.1", "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", "has-proto": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "internal-slot": "^1.1.0", "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", "is-weakref": "^1.1.1", "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.4", "object-keys": "^1.1.1", "object.assign": "^4.1.7", "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.4", "safe-array-concat": "^1.1.3", "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.3", "typed-array-byte-length": "^1.0.3", "typed-array-byte-offset": "^1.0.4", "typed-array-length": "^1.0.7", "unbox-primitive": "^1.1.0", "which-typed-array": "^1.1.19" } }, "sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg=="], + + "es-abstract-get": ["es-abstract-get@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "es-object-atoms": "^1.1.2", "is-callable": "^1.2.7", "object-inspect": "^1.13.4" } }, "sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg=="], "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], - "es-module-lexer": ["es-module-lexer@1.7.0", "", {}, "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA=="], + "es-module-lexer": ["es-module-lexer@2.1.0", "", {}, "sha512-n27zTYMjYu1aj4MjCWzSP7G9r75utsaoc8m61weK+W8JMBGGQybd43GstCXZ3WNmSFtGT9wi59qQTW6mhTR5LQ=="], - "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + "es-object-atoms": ["es-object-atoms@1.1.2", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw=="], "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], + "es-shim-unscopables": ["es-shim-unscopables@1.1.0", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw=="], + + "es-to-primitive": ["es-to-primitive@1.3.1", "", { "dependencies": { "es-abstract-get": "^1.0.0", "es-errors": "^1.3.0", "is-callable": "^1.2.7", "is-date-object": "^1.1.0", "is-symbol": "^1.1.1" } }, "sha512-CxN9N56HYfd2m/acc/NOFrZQsN9kU4eh+2kk6A707Kz1krH8tKmfrs5RnftB8WNX80T0NS7vSQsDOlg23diR2g=="], + "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="], "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="], - "esbuild": ["esbuild@0.25.8", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.8", "@esbuild/android-arm": "0.25.8", "@esbuild/android-arm64": "0.25.8", "@esbuild/android-x64": "0.25.8", "@esbuild/darwin-arm64": "0.25.8", "@esbuild/darwin-x64": "0.25.8", "@esbuild/freebsd-arm64": "0.25.8", "@esbuild/freebsd-x64": "0.25.8", "@esbuild/linux-arm": "0.25.8", "@esbuild/linux-arm64": "0.25.8", "@esbuild/linux-ia32": "0.25.8", "@esbuild/linux-loong64": "0.25.8", "@esbuild/linux-mips64el": "0.25.8", "@esbuild/linux-ppc64": "0.25.8", "@esbuild/linux-riscv64": "0.25.8", "@esbuild/linux-s390x": "0.25.8", "@esbuild/linux-x64": "0.25.8", "@esbuild/netbsd-arm64": "0.25.8", "@esbuild/netbsd-x64": "0.25.8", "@esbuild/openbsd-arm64": "0.25.8", "@esbuild/openbsd-x64": "0.25.8", "@esbuild/openharmony-arm64": "0.25.8", "@esbuild/sunos-x64": "0.25.8", "@esbuild/win32-arm64": "0.25.8", "@esbuild/win32-ia32": "0.25.8", "@esbuild/win32-x64": "0.25.8" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q=="], + "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="], "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], - "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], + + "eslint": ["eslint@10.5.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.6.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.4", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ=="], + + "eslint-compat-utils": ["eslint-compat-utils@0.6.5", "", { "dependencies": { "semver": "^7.5.4" }, "peerDependencies": { "eslint": ">=6.0.0" } }, "sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ=="], + + "eslint-config-prettier": ["eslint-config-prettier@10.1.8", "", { "peerDependencies": { "eslint": ">=7.0.0" }, "bin": { "eslint-config-prettier": "bin/cli.js" } }, "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w=="], + + "eslint-mdx": ["eslint-mdx@3.8.1", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "espree": "^9.6.1 || ^10.4.0 || ^11.2.0", "estree-util-visit": "^2.0.0", "remark-mdx": "^3.1.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "synckit": "^0.11.8", "unified": "^11.0.5", "unified-engine": "^11.2.2", "unist-util-visit": "^5.0.0", "vfile": "^6.0.3" }, "peerDependencies": { "eslint": ">=8.0.0", "remark-lint-file-extension": "*" }, "optionalPeers": ["remark-lint-file-extension"] }, "sha512-hnsqWwMOHqUANwxWEGt8XbwABPEr5sTOolAzqyUDFdlERpqjFE/icylb+mJl60VICL+kLbbvXWbnFLWZdTqJ2g=="], + + "eslint-plugin-astro": ["eslint-plugin-astro@1.7.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@jridgewell/sourcemap-codec": "^1.4.14", "@typescript-eslint/types": "^7.7.1 || ^8", "astro-eslint-parser": "^1.3.0", "eslint-compat-utils": "^0.6.0", "globals": "^16.0.0", "postcss": "^8.4.14", "postcss-selector-parser": "^7.0.0" }, "peerDependencies": { "eslint": ">=8.57.0" } }, "sha512-89xpAn528UKCdmyysbg0AHHqi6sqcK89wXnJIpu4F0mFBN03zATEBNK7pRtMfl6gwtMOm5ECXs+Wz5qDHhwTFw=="], + + "eslint-plugin-better-tailwindcss": ["eslint-plugin-better-tailwindcss@4.6.0", "", { "dependencies": { "@eslint/css-tree": "^4.0.1", "@valibot/to-json-schema": "^1.6.0", "enhanced-resolve": "^5.20.1", "jiti": "^2.6.1", "synckit": "^0.11.12", "tailwind-csstree": "^0.3.2", "tsconfig-paths-webpack-plugin": "^4.2.0", "valibot": "^1.3.1" }, "peerDependencies": { "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0", "oxlint": "^1.35.0", "tailwindcss": "^3.3.0 || ^4.1.17" }, "optionalPeers": ["eslint", "oxlint"] }, "sha512-Xeh/6KzLeays6jXSqTKx6iCdJL1qo5ant/mAabbz7dJqADYebKUUPR2zXp1xuiqqJ3HIm+MN+Ql2m4Jp0BxkMQ=="], + + "eslint-plugin-jsx-a11y": ["eslint-plugin-jsx-a11y@6.10.2", "", { "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", "axe-core": "^4.10.0", "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", "string.prototype.includes": "^2.0.1" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q=="], + + "eslint-plugin-mdx": ["eslint-plugin-mdx@3.8.1", "", { "dependencies": { "eslint-mdx": "^3.8.1", "mdast-util-from-markdown": "^2.0.2", "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0", "remark-mdx": "^3.1.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "synckit": "^0.11.8", "unified": "^11.0.5", "vfile": "^6.0.3" }, "peerDependencies": { "eslint": ">=8.0.0" } }, "sha512-4OLgotfBxUDc1f6ihXSagT/1+JCCUABA/2r6Kzl6gqFftg4dCV0wBfdwFo6X6UO/FzTHr3g6mVt+6prRXffc/Q=="], + + "eslint-plugin-prettier": ["eslint-plugin-prettier@5.5.6", "", { "dependencies": { "prettier-linter-helpers": "^1.0.1", "synckit": "^0.11.13" }, "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "optionalPeers": ["@types/eslint", "eslint-config-prettier"] }, "sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ=="], + + "eslint-plugin-react-hooks": ["eslint-plugin-react-hooks@7.1.1", "", { "dependencies": { "@babel/core": "^7.24.4", "@babel/parser": "^7.24.4", "hermes-parser": "^0.25.1", "zod": "^3.25.0 || ^4.0.0", "zod-validation-error": "^3.5.0 || ^4.0.0" }, "peerDependencies": { "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0" } }, "sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g=="], + + "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="], + + "eslint-visitor-keys": ["eslint-visitor-keys@5.0.1", "", {}, "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA=="], + + "espree": ["espree@11.2.0", "", { "dependencies": { "acorn": "^8.16.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^5.0.1" } }, "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw=="], + + "esquery": ["esquery@1.7.0", "", { "dependencies": { "estraverse": "^5.1.0" } }, "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g=="], + + "esrecurse": ["esrecurse@4.3.0", "", { "dependencies": { "estraverse": "^5.2.0" } }, "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="], + + "estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="], "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="], @@ -581,49 +805,105 @@ "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="], - "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + + "esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="], - "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="], + "eventemitter3": ["eventemitter3@5.0.4", "", {}, "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw=="], "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], - "fast-copy": ["fast-copy@3.0.2", "", {}, "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ=="], + "fast-copy": ["fast-copy@4.0.3", "", {}, "sha512-58apWr0GUiDFM8+3afrO6eYwJBn9ZAhDOzG3L+/9llab/haCARS2UIfffmOurYLwbgDRs8n0rfr6qAAPEAuAQw=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], - "fdir": ["fdir@6.4.6", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w=="], + "fast-diff": ["fast-diff@1.3.0", "", {}, "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw=="], + + "fast-glob": ["fast-glob@3.3.3", "", { "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", "micromatch": "^4.0.8" } }, "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg=="], + + "fast-json-stable-stringify": ["fast-json-stable-stringify@2.1.0", "", {}, "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="], + + "fast-levenshtein": ["fast-levenshtein@2.0.6", "", {}, "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="], + + "fast-string-truncated-width": ["fast-string-truncated-width@3.0.3", "", {}, "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g=="], + + "fast-string-width": ["fast-string-width@3.0.2", "", { "dependencies": { "fast-string-truncated-width": "^3.0.2" } }, "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg=="], + + "fast-wrap-ansi": ["fast-wrap-ansi@0.2.2", "", { "dependencies": { "fast-string-width": "^3.0.2" } }, "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q=="], + + "fastq": ["fastq@1.20.1", "", { "dependencies": { "reusify": "^1.0.4" } }, "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "file-entry-cache": ["file-entry-cache@8.0.0", "", { "dependencies": { "flat-cache": "^4.0.0" } }, "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ=="], + + "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + + "find-up": ["find-up@5.0.0", "", { "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" } }, "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng=="], + + "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], + + "flatted": ["flatted@3.4.2", "", {}, "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA=="], "flattie": ["flattie@1.1.1", "", {}, "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ=="], - "fontace": ["fontace@0.3.0", "", { "dependencies": { "@types/fontkit": "^2.0.8", "fontkit": "^2.0.4" } }, "sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg=="], + "fontace": ["fontace@0.4.1", "", { "dependencies": { "fontkitten": "^1.0.2" } }, "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw=="], + + "fontkitten": ["fontkitten@1.0.3", "", { "dependencies": { "tiny-inflate": "^1.0.3" } }, "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw=="], - "fontkit": ["fontkit@2.0.4", "", { "dependencies": { "@swc/helpers": "^0.5.12", "brotli": "^1.3.2", "clone": "^2.1.2", "dfa": "^1.2.0", "fast-deep-equal": "^3.1.3", "restructure": "^3.0.0", "tiny-inflate": "^1.0.3", "unicode-properties": "^1.4.0", "unicode-trie": "^2.0.0" } }, "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g=="], + "for-each": ["for-each@0.3.5", "", { "dependencies": { "is-callable": "^1.2.7" } }, "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg=="], - "form-data": ["form-data@4.0.4", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow=="], + "foreground-child": ["foreground-child@3.3.1", "", { "dependencies": { "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], - "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], + "function.prototype.name": ["function.prototype.name@1.2.0", "", { "dependencies": { "call-bind": "^1.0.9", "call-bound": "^1.0.4", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2", "hasown": "^2.0.4", "is-callable": "^1.2.7", "is-document.all": "^1.0.0" } }, "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew=="], + + "functions-have-names": ["functions-have-names@1.2.3", "", {}, "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ=="], + + "generator-function": ["generator-function@2.0.1", "", {}, "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g=="], - "get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="], + "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="], "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + "get-symbol-description": ["get-symbol-description@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6" } }, "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg=="], + + "get-tsconfig": ["get-tsconfig@5.0.0-beta.4", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ=="], + "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="], + "glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + + "globals": ["globals@17.6.0", "", {}, "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA=="], + + "globalthis": ["globalthis@1.0.4", "", { "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" } }, "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ=="], + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], - "h3": ["h3@1.15.4", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.5", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.2", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" } }, "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ=="], + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], + + "h3": ["h3@1.15.11", "", { "dependencies": { "cookie-es": "^1.2.3", "crossws": "^0.3.5", "defu": "^6.1.6", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.4", "radix3": "^1.1.2", "ufo": "^1.6.3", "uncrypto": "^0.1.3" } }, "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg=="], + + "has-bigints": ["has-bigints@1.1.0", "", {}, "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg=="], + + "has-flag": ["has-flag@4.0.0", "", {}, "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="], + + "has-property-descriptors": ["has-property-descriptors@1.0.2", "", { "dependencies": { "es-define-property": "^1.0.0" } }, "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="], + + "has-proto": ["has-proto@1.2.0", "", { "dependencies": { "dunder-proto": "^1.0.0" } }, "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ=="], "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="], - "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + "hasown": ["hasown@2.0.4", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A=="], "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="], @@ -641,7 +921,7 @@ "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="], - "hast-util-to-parse5": ["hast-util-to-parse5@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw=="], + "hast-util-to-parse5": ["hast-util-to-parse5@8.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA=="], "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="], @@ -649,6 +929,12 @@ "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="], + "hermes-estree": ["hermes-estree@0.25.1", "", {}, "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw=="], + + "hermes-parser": ["hermes-parser@0.25.1", "", { "dependencies": { "hermes-estree": "0.25.1" } }, "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA=="], + + "hosted-git-info": ["hosted-git-info@7.0.2", "", { "dependencies": { "lru-cache": "^10.0.1" } }, "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w=="], + "html-entities": ["html-entities@2.6.0", "", {}, "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ=="], "html-escaper": ["html-escaper@3.0.3", "", {}, "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="], @@ -657,11 +943,23 @@ "http-cache-semantics": ["http-cache-semantics@4.2.0", "", {}, "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ=="], + "idn-hostname": ["idn-hostname@15.1.8", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-MmLwddtSVyMtzYxx+xs2IFEbfyg/facubL/mEaAoJX/XIfjt1ly5QhPByihf4yrxZYbkQfRZVEnBgISv/e2ZWw=="], + + "ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + "import-fresh": ["import-fresh@3.3.1", "", { "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" } }, "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ=="], - "import-meta-resolve": ["import-meta-resolve@4.1.0", "", {}, "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw=="], + "import-meta-resolve": ["import-meta-resolve@4.2.0", "", {}, "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg=="], + + "imurmurhash": ["imurmurhash@0.1.4", "", {}, "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA=="], - "inline-style-parser": ["inline-style-parser@0.2.4", "", {}, "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q=="], + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ini": ["ini@4.1.3", "", {}, "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg=="], + + "inline-style-parser": ["inline-style-parser@0.2.7", "", {}, "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA=="], + + "internal-slot": ["internal-slot@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "hasown": "^2.0.2", "side-channel": "^1.1.0" } }, "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw=="], "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="], @@ -669,55 +967,157 @@ "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="], + "is-array-buffer": ["is-array-buffer@3.0.5", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A=="], + "is-arrayish": ["is-arrayish@0.2.1", "", {}, "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="], + "is-async-function": ["is-async-function@2.1.1", "", { "dependencies": { "async-function": "^1.0.0", "call-bound": "^1.0.3", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ=="], + + "is-bigint": ["is-bigint@1.1.0", "", { "dependencies": { "has-bigints": "^1.0.2" } }, "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ=="], + + "is-boolean-object": ["is-boolean-object@1.2.2", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A=="], + + "is-callable": ["is-callable@1.2.7", "", {}, "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA=="], + + "is-data-view": ["is-data-view@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" } }, "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw=="], + + "is-date-object": ["is-date-object@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" } }, "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg=="], + "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="], - "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + "is-docker": ["is-docker@4.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA=="], + + "is-document.all": ["is-document.all@1.0.0", "", { "dependencies": { "call-bound": "^1.0.4" } }, "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g=="], + + "is-empty": ["is-empty@1.2.0", "", {}, "sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w=="], + + "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + + "is-finalizationregistry": ["is-finalizationregistry@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg=="], "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-generator-function": ["is-generator-function@1.1.2", "", { "dependencies": { "call-bound": "^1.0.4", "generator-function": "^2.0.0", "get-proto": "^1.0.1", "has-tostringtag": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA=="], + + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], + "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="], "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + "is-map": ["is-map@2.0.3", "", {}, "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw=="], + + "is-negative-zero": ["is-negative-zero@2.0.3", "", {}, "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="], + + "is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="], + + "is-number-object": ["is-number-object@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw=="], + "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="], + "is-regex": ["is-regex@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g=="], + + "is-set": ["is-set@2.0.3", "", {}, "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg=="], + + "is-shared-array-buffer": ["is-shared-array-buffer@1.0.4", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A=="], + "is-standalone-pwa": ["is-standalone-pwa@0.1.1", "", {}, "sha512-9Cbovsa52vNQCjdXOzeQq5CnCbAcRk05aU62K20WO372NrTv0NxibLFCK6lQ4/iZEFdEA3p3t2VNOn8AJ53F5g=="], - "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + "is-string": ["is-string@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" } }, "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA=="], + + "is-symbol": ["is-symbol@1.1.1", "", { "dependencies": { "call-bound": "^1.0.2", "has-symbols": "^1.1.0", "safe-regex-test": "^1.1.0" } }, "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w=="], + + "is-typed-array": ["is-typed-array@1.1.15", "", { "dependencies": { "which-typed-array": "^1.1.16" } }, "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ=="], + + "is-weakmap": ["is-weakmap@2.0.2", "", {}, "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w=="], + + "is-weakref": ["is-weakref@1.1.1", "", { "dependencies": { "call-bound": "^1.0.3" } }, "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew=="], + + "is-weakset": ["is-weakset@2.0.4", "", { "dependencies": { "call-bound": "^1.0.3", "get-intrinsic": "^1.2.6" } }, "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ=="], - "js-cookie": ["js-cookie@3.0.5", "", {}, "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw=="], + "is-wsl": ["is-wsl@3.1.1", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw=="], + + "isarray": ["isarray@2.0.5", "", {}, "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="], + + "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + + "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + + "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], + + "js-cookie": ["js-cookie@3.0.8", "", {}, "sha512-yeJd4aNAdYZQjaon2bpD/Gb0B/omw7HQOsynXXcOiWVCacbBcPlgn8S/d1X6blFSaHao7ozqtW7NZW19xpCtIw=="], "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], - "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="], + "js-yaml": ["js-yaml@4.2.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw=="], "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], - "json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], + + "json-parse-even-better-errors": ["json-parse-even-better-errors@3.0.2", "", {}, "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ=="], - "json-schema-library": ["json-schema-library@10.2.1", "", { "dependencies": { "@sagold/json-pointer": "^7.0.0", "@sagold/json-query": "^6.2.0", "deepmerge": "^4.3.1", "fast-copy": "^3.0.2", "fast-deep-equal": "^3.1.3", "smtp-address-parser": "1.0.10", "valid-url": "^1.0.9" } }, "sha512-mWjBz79uBHGCTK5X11a3cz4NAepxOjWWBLGkGM9KKkrfQjpJx9e3wlkgpj6ieqrdIJ/3CtMEHFermeBJk2Hanw=="], + "json-schema-library": ["json-schema-library@11.6.1", "", { "dependencies": { "@hyperjump/json-schema-formats": "^1.0.1", "@sagold/json-pointer": "^7.2.1", "fast-copy": "^4.0.2", "fast-deep-equal": "^3.1.3", "uri-js": "^4.4.1", "valid-url": "^1.0.9" } }, "sha512-WAdI8/IdFtgfd9RzjV5lsd82RNXoWb0TR52Z+eQW6xeHGXtLJihvbdCvUVLMaQVO6DnwGj1WyGnaey/w6SmdxA=="], + + "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], + + "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="], - "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="], + "jsonc-parser": ["jsonc-parser@3.3.1", "", {}, "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ=="], + + "jsx-ast-utils": ["jsx-ast-utils@3.3.5", "", { "dependencies": { "array-includes": "^3.1.6", "array.prototype.flat": "^1.3.1", "object.assign": "^4.1.4", "object.values": "^1.1.6" } }, "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ=="], + + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], + + "language-subtag-registry": ["language-subtag-registry@0.3.23", "", {}, "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ=="], + + "language-tags": ["language-tags@1.0.9", "", { "dependencies": { "language-subtag-registry": "^0.3.20" } }, "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA=="], + + "levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="], + + "lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], + + "lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], + + "lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], + + "lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.32.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w=="], + + "lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.32.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig=="], + + "lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.32.0", "", { "os": "linux", "cpu": "arm" }, "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw=="], + + "lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ=="], + + "lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.32.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg=="], + + "lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA=="], + + "lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.32.0", "", { "os": "linux", "cpu": "x64" }, "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg=="], - "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + "lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.32.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw=="], - "lodash-es": ["lodash-es@4.17.21", "", {}, "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="], + "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.32.0", "", { "os": "win32", "cpu": "x64" }, "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q=="], + + "lines-and-columns": ["lines-and-columns@2.0.4", "", {}, "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A=="], + + "load-plugin": ["load-plugin@6.0.3", "", { "dependencies": { "@npmcli/config": "^8.0.0", "import-meta-resolve": "^4.0.0" } }, "sha512-kc0X2FEUZr145odl68frm+lMJuQ23+rTXYmR6TImqPtbpmXC4vVXbWKDQ9IzndA0HfyQamWfKLhzsqGSTxE63w=="], + + "locate-path": ["locate-path@6.0.0", "", { "dependencies": { "p-locate": "^5.0.0" } }, "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw=="], + + "lodash-es": ["lodash-es@4.18.1", "", {}, "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A=="], "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="], "lower-case": ["lower-case@2.0.2", "", { "dependencies": { "tslib": "^2.0.3" } }, "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg=="], - "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - - "lz-string": ["lz-string@1.5.0", "", { "bin": { "lz-string": "bin/bin.js" } }, "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ=="], + "lru-cache": ["lru-cache@11.5.1", "", {}, "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A=="], - "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="], + "magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], - "magicast": ["magicast@0.3.5", "", { "dependencies": { "@babel/parser": "^7.25.4", "@babel/types": "^7.25.4", "source-map-js": "^1.2.0" } }, "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ=="], + "magicast": ["magicast@0.5.3", "", { "dependencies": { "@babel/parser": "^7.29.3", "@babel/types": "^7.29.0", "source-map-js": "^1.2.1" } }, "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw=="], "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="], @@ -729,7 +1129,7 @@ "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="], - "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="], + "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.3", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q=="], "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="], @@ -753,13 +1153,15 @@ "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="], - "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="], + "mdast-util-to-hast": ["mdast-util-to-hast@13.2.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA=="], "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="], "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="], - "mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="], + "mdn-data": ["mdn-data@2.28.1", "", {}, "sha512-U9w+PzSZ00Z5m9rZ5ARVFL5xOfuCHdKYi/1RRwDCJsboFgJDNT3zT6PIPD7mZQYaQLhsZM3GfDRgSMRHhSmVng=="], + + "merge2": ["merge2@1.4.1", "", {}, "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="], "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="], @@ -831,19 +1233,21 @@ "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="], - "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="], + "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="], + "minimatch": ["minimatch@10.2.5", "", { "dependencies": { "brace-expansion": "^5.0.5" } }, "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg=="], - "moo": ["moo@0.5.2", "", {}, "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q=="], + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "minipass": ["minipass@7.1.3", "", {}, "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A=="], "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="], "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], - "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="], + "nanoid": ["nanoid@3.3.15", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA=="], - "nearley": ["nearley@2.20.1", "", { "dependencies": { "commander": "^2.19.0", "moo": "^0.5.0", "railroad-diagrams": "^1.0.0", "randexp": "0.4.6" }, "bin": { "nearleyc": "bin/nearleyc.js", "nearley-test": "bin/nearley-test.js", "nearley-unparse": "bin/nearley-unparse.js", "nearley-railroad": "bin/nearley-railroad.js" } }, "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ=="], + "natural-compare": ["natural-compare@1.4.0", "", {}, "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="], "neotraverse": ["neotraverse@0.6.18", "", {}, "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="], @@ -851,99 +1255,143 @@ "no-case": ["no-case@3.0.4", "", { "dependencies": { "lower-case": "^2.0.2", "tslib": "^2.0.3" } }, "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg=="], - "node-fetch": ["node-fetch@2.7.0", "", { "dependencies": { "whatwg-url": "^5.0.0" }, "peerDependencies": { "encoding": "^0.1.0" }, "optionalPeers": ["encoding"] }, "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="], - "node-fetch-native": ["node-fetch-native@1.6.7", "", {}, "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q=="], - "node-mock-http": ["node-mock-http@1.0.2", "", {}, "sha512-zWaamgDUdo9SSLw47we78+zYw/bDr5gH8pH7oRRs8V3KmBtu8GLgGIbV2p/gRPd3LWpEOpjQj7X1FOU3VFMJ8g=="], + "node-mock-http": ["node-mock-http@1.0.4", "", {}, "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ=="], + + "node-releases": ["node-releases@2.0.48", "", {}, "sha512-1uz8041X6LoI6ZSdZacM9lVY28vuzDlSKitnpbSNK0RfKoIJkX29NBPVEFXhnuSuEOA9Ww0xnPJ+ILWbGAv8DA=="], - "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="], + "nopt": ["nopt@7.2.1", "", { "dependencies": { "abbrev": "^2.0.0" }, "bin": { "nopt": "bin/nopt.js" } }, "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w=="], + + "normalize-package-data": ["normalize-package-data@6.0.2", "", { "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g=="], "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="], - "ofetch": ["ofetch@1.4.1", "", { "dependencies": { "destr": "^2.0.3", "node-fetch-native": "^1.6.4", "ufo": "^1.5.4" } }, "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw=="], + "npm-install-checks": ["npm-install-checks@6.3.0", "", { "dependencies": { "semver": "^7.1.1" } }, "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw=="], + + "npm-normalize-package-bin": ["npm-normalize-package-bin@3.0.1", "", {}, "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ=="], + + "npm-package-arg": ["npm-package-arg@11.0.3", "", { "dependencies": { "hosted-git-info": "^7.0.0", "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" } }, "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw=="], + + "npm-pick-manifest": ["npm-pick-manifest@9.1.0", "", { "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", "npm-package-arg": "^11.0.0", "semver": "^7.3.5" } }, "sha512-nkc+3pIIhqHVQr085X9d2JzPzLyjzQS96zbruppqC9aZRm/x8xx6xhI98gHtsfELP2bE+loHq8ZaHFHhe+NauA=="], + + "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "object-keys": ["object-keys@1.1.1", "", {}, "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="], + + "object.assign": ["object.assign@4.1.7", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0", "has-symbols": "^1.1.0", "object-keys": "^1.1.1" } }, "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw=="], + + "object.fromentries": ["object.fromentries@2.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" } }, "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ=="], + + "object.values": ["object.values@1.2.1", "", { "dependencies": { "call-bind": "^1.0.8", "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA=="], + + "obug": ["obug@2.1.3", "", {}, "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg=="], + + "ofetch": ["ofetch@1.5.1", "", { "dependencies": { "destr": "^2.0.5", "node-fetch-native": "^1.6.7", "ufo": "^1.6.1" } }, "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA=="], "ohash": ["ohash@2.0.11", "", {}, "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="], - "oniguruma-parser": ["oniguruma-parser@0.12.1", "", {}, "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="], + "oniguruma-parser": ["oniguruma-parser@0.12.2", "", {}, "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw=="], + + "oniguruma-to-es": ["oniguruma-to-es@4.3.6", "", { "dependencies": { "oniguruma-parser": "^0.12.2", "regex": "^6.1.0", "regex-recursion": "^6.0.2" } }, "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA=="], + + "optionator": ["optionator@0.9.4", "", { "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.5" } }, "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g=="], - "oniguruma-to-es": ["oniguruma-to-es@4.3.3", "", { "dependencies": { "oniguruma-parser": "^0.12.1", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg=="], + "own-keys": ["own-keys@1.0.1", "", { "dependencies": { "get-intrinsic": "^1.2.6", "object-keys": "^1.1.1", "safe-push-apply": "^1.0.0" } }, "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg=="], - "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="], + "p-limit": ["p-limit@7.3.0", "", { "dependencies": { "yocto-queue": "^1.2.1" } }, "sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw=="], - "p-queue": ["p-queue@8.1.0", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw=="], + "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], - "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="], + "p-queue": ["p-queue@9.3.0", "", { "dependencies": { "eventemitter3": "^5.0.4", "p-timeout": "^7.0.0" } }, "sha512-7NED7xhQ74Ngp4JP/2e0VZHp7vSWfJfqeiR92jPgxsz6m0Se4P03YoTKa9dDXyZ3r6P616gUXttrB6nnHYKang=="], - "package-manager-detector": ["package-manager-detector@1.3.0", "", {}, "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ=="], + "p-timeout": ["p-timeout@7.0.1", "", {}, "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg=="], - "pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + + "package-manager-detector": ["package-manager-detector@1.6.0", "", {}, "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA=="], "parent-module": ["parent-module@1.0.1", "", { "dependencies": { "callsites": "^3.0.0" } }, "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="], "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="], - "parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], + "parse-json": ["parse-json@7.1.1", "", { "dependencies": { "@babel/code-frame": "^7.21.4", "error-ex": "^1.3.2", "json-parse-even-better-errors": "^3.0.0", "lines-and-columns": "^2.0.3", "type-fest": "^3.8.0" } }, "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw=="], "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="], "parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], + + "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + + "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "path-type": ["path-type@4.0.0", "", {}, "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="], + "piccolore": ["piccolore@0.1.3", "", {}, "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw=="], + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], - "plotly.js-dist": ["plotly.js-dist@3.1.0", "", {}, "sha512-rxxqPveB1uzMvv8qfhhYXTBpoX1wreRgpFbrMdbraOuFtw3TXWwD+/qWwtphzPw4mtLZT6ND3K4sl/DN9Qgkuw=="], + "plotly.js-dist": ["plotly.js-dist@3.6.0", "", {}, "sha512-2h4MMbY6wBx6qfF7b5sX4S/6lnu/YAi2nHA0SB/OPO/I1jVmC6LfTGXiQcOmuYZTha4CLmtZAh5Iv9ApWMFEBQ=="], - "postcss": ["postcss@8.5.6", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg=="], + "possible-typed-array-names": ["possible-typed-array-names@1.1.0", "", {}, "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg=="], - "postcss-less": ["postcss-less@6.0.0", "", { "peerDependencies": { "postcss": "^8.3.5" } }, "sha512-FPX16mQLyEjLzEuuJtxA8X3ejDLNGGEG503d2YGZR5Ask1SpDN8KmZUMpzCvyalWRywAn1n1VOA5dcqfCLo5rg=="], + "postcss": ["postcss@8.5.15", "", { "dependencies": { "nanoid": "^3.3.12", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A=="], - "postcss-scss": ["postcss-scss@4.0.9", "", { "peerDependencies": { "postcss": "^8.4.29" } }, "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A=="], + "postcss-selector-parser": ["postcss-selector-parser@7.1.4", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg=="], - "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], + "prelude-ls": ["prelude-ls@1.2.1", "", {}, "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="], - "prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "^2.9.1", "prettier": "^3.0.0", "sass-formatter": "^0.7.6" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="], + "prettier": ["prettier@3.8.4", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q=="], - "prettier-plugin-css-order": ["prettier-plugin-css-order@2.1.2", "", { "dependencies": { "css-declaration-sorter": "^7.1.1", "postcss-less": "^6.0.0", "postcss-scss": "^4.0.9" }, "peerDependencies": { "prettier": "3.x" } }, "sha512-vomxPjHI6pOMYcBuouSJHxxQClJXaUpU9rsV9IAO2wrSTZILRRlrxAAR8t9UF6wtczLkLfNRFUwM+ZbGXOONUA=="], + "prettier-linter-helpers": ["prettier-linter-helpers@1.0.1", "", { "dependencies": { "fast-diff": "^1.1.2" } }, "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg=="], - "pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], + "prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "^2.9.1", "prettier": "^3.0.0", "sass-formatter": "^0.7.6" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="], + + "prettier-plugin-tailwindcss": ["prettier-plugin-tailwindcss@0.8.0", "", { "peerDependencies": { "@ianvs/prettier-plugin-sort-imports": "*", "@prettier/plugin-hermes": "*", "@prettier/plugin-oxc": "*", "@prettier/plugin-pug": "*", "@shopify/prettier-plugin-liquid": "*", "@trivago/prettier-plugin-sort-imports": "*", "@zackad/prettier-plugin-twig": "*", "prettier": "^3.0", "prettier-plugin-astro": "*", "prettier-plugin-css-order": "*", "prettier-plugin-jsdoc": "*", "prettier-plugin-marko": "*", "prettier-plugin-multiline-arrays": "*", "prettier-plugin-organize-attributes": "*", "prettier-plugin-organize-imports": "*", "prettier-plugin-sort-imports": "*", "prettier-plugin-svelte": "*" }, "optionalPeers": ["@ianvs/prettier-plugin-sort-imports", "@prettier/plugin-hermes", "@prettier/plugin-oxc", "@prettier/plugin-pug", "@shopify/prettier-plugin-liquid", "@trivago/prettier-plugin-sort-imports", "@zackad/prettier-plugin-twig", "prettier-plugin-astro", "prettier-plugin-css-order", "prettier-plugin-jsdoc", "prettier-plugin-marko", "prettier-plugin-multiline-arrays", "prettier-plugin-organize-attributes", "prettier-plugin-organize-imports", "prettier-plugin-sort-imports", "prettier-plugin-svelte"] }, "sha512-V8ITGH87yuBDF6JpEZTOVlUz/saAwqb8f3HRgUj8Lh+tGCcrmorhsLpYqzygwFwK0PE2Ib6Mv3M7T/uE2tZV1g=="], "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="], - "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="], + "proc-log": ["proc-log@4.2.0", "", {}, "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA=="], - "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="], + "promise-inflight": ["promise-inflight@1.0.1", "", {}, "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g=="], - "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], + "promise-retry": ["promise-retry@2.0.1", "", { "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g=="], - "railroad-diagrams": ["railroad-diagrams@1.0.0", "", {}, "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A=="], + "property-information": ["property-information@7.2.0", "", {}, "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg=="], - "randexp": ["randexp@0.4.6", "", { "dependencies": { "discontinuous-range": "1.0.0", "ret": "~0.1.10" } }, "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ=="], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], + + "queue-microtask": ["queue-microtask@1.2.3", "", {}, "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="], + + "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="], - "ranges-apply": ["ranges-apply@7.0.20", "", { "dependencies": { "ranges-merge": "^9.0.19", "tiny-invariant": "^1.3.3" } }, "sha512-AaJ+RbX+w/qw7LUA2NbMMwUnpJico4aJ22zVl5hxQDlmfEXSv/TjjL96u1u0cmlNBY38aQ0kPHH0bHN5o68l9A=="], + "ranges-apply": ["ranges-apply@7.1.3", "", { "dependencies": { "ranges-merge": "^9.1.3", "tiny-invariant": "^1.3.3" } }, "sha512-+dpc801TK6qUoMKU9dnwD0wH6XORtZicXLVm4p43jEp+te7Q+Tw0Pa4cHX9Mj1W0zshVYh1S4RIYI38ZUPglqQ=="], - "ranges-merge": ["ranges-merge@9.0.19", "", { "dependencies": { "ranges-push": "^7.0.19", "ranges-sort": "^6.0.14" } }, "sha512-8RA9LXv6n+2bZcfcIQSYkETerJZXE3hPo0LSCmq5BBFTkw2WT8CxM4Tu9QaCD0fT4Yb7DM45gzl3tOksFrXLsA=="], + "ranges-merge": ["ranges-merge@9.1.3", "", { "dependencies": { "ranges-push": "^7.1.3", "ranges-sort": "^6.1.3" } }, "sha512-dPS11e7AHD1tnuzrboYa+n07JqbHccMqt94C3cSlJ9tTC/RN6P+iGePhTyvCPpoNDWVOEVX4JGyGH0oHjwas0g=="], - "ranges-push": ["ranges-push@7.0.19", "", { "dependencies": { "codsen-utils": "^1.6.8", "ranges-sort": "^6.0.14", "string-collapse-leading-whitespace": "^7.0.9", "string-trim-spaces-only": "^5.0.13" } }, "sha512-WJZHju2Unc9FXWFUAE6t+MWdY02Rtxuj/FZf4Q+JEQs60ygbo+4BYwgE29ldEkPwmKBItHqwqPNnif7KxMS80g=="], + "ranges-push": ["ranges-push@7.1.3", "", { "dependencies": { "codsen-utils": "^1.7.3", "ranges-sort": "^6.1.3", "string-collapse-leading-whitespace": "^7.1.3", "string-trim-spaces-only": "^5.1.3" } }, "sha512-3laGXNa4CW1vt6e2RqC35xRmxXpcWwLNpepTQJ+dkftc/7rH+d9pQ/UQgV6/peN6DsDcpJuu+PjLjWprz2UjDA=="], - "ranges-sort": ["ranges-sort@6.0.14", "", {}, "sha512-ztTG7KAMZ72FAbKLG2GpLavnD+89c6KqeCl1C5lTyvKRFjFd5CbnM1wf3fe/o+7hV2PNiDx2mZ9EtCtPIfk7gw=="], + "ranges-sort": ["ranges-sort@6.1.3", "", {}, "sha512-JsTMmurWEOPYowp1OwUbjcfXyDfaTB+AWoiZwjV+3qOv0uUI7A1CExGwyFwfXEO5HYThOTDC96qC9a6BYqFbyg=="], - "react": ["react@19.1.1", "", {}, "sha512-w8nqGImo45dmMIfljjMwOGtbmC/mk4CMYhWIicdSflH91J9TyCyczcPFXJzrZ/ZXcgGRFeP6BU0BEJTw6tZdfQ=="], + "react": ["react@19.2.7", "", {}, "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ=="], "react-children-utilities": ["react-children-utilities@2.10.0", "", { "peerDependencies": { "react": ">=15" } }, "sha512-9naSkrOHACjoDsHDtAQR5mGMp3ffv1DkUSQPDa8iJFP0+lXloS4fw44hMHaWeNF3qL4B3GPiJ9032Oo309oa9g=="], - "react-dom": ["react-dom@19.1.1", "", { "dependencies": { "scheduler": "^0.26.0" }, "peerDependencies": { "react": "^19.1.1" } }, "sha512-Dlq/5LAZgF0Gaz6yiqZCf6VCcZs1ghAJyrsu84Q/GT0gV+mCxbfmKNoGRKBYMJ8IEdGPqu49YWXD02GCknEDkw=="], + "react-dom": ["react-dom@19.2.7", "", { "dependencies": { "scheduler": "^0.27.0" }, "peerDependencies": { "react": "^19.2.7" } }, "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ=="], - "react-icons": ["react-icons@5.5.0", "", { "peerDependencies": { "react": "*" } }, "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw=="], + "react-refresh": ["react-refresh@0.18.0", "", {}, "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw=="], - "react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + "read-package-json-fast": ["read-package-json-fast@3.0.2", "", { "dependencies": { "json-parse-even-better-errors": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" } }, "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw=="], - "react-refresh": ["react-refresh@0.17.0", "", {}, "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ=="], + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], - "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "readdirp": ["readdirp@5.0.0", "", {}, "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ=="], "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="], @@ -953,12 +1401,16 @@ "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="], - "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="], + "reflect.getprototypeof": ["reflect.getprototypeof@1.0.10", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-abstract": "^1.23.9", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", "get-intrinsic": "^1.2.7", "get-proto": "^1.0.1", "which-builtin-type": "^1.2.1" } }, "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw=="], + + "regex": ["regex@6.1.0", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg=="], "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="], "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="], + "regexp.prototype.flags": ["regexp.prototype.flags@1.5.4", "", { "dependencies": { "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", "get-proto": "^1.0.1", "gopd": "^1.2.0", "set-function-name": "^2.0.2" } }, "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA=="], + "rehype": ["rehype@13.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "rehype-parse": "^9.0.0", "rehype-stringify": "^10.0.0", "unified": "^11.0.0" } }, "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A=="], "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="], @@ -971,7 +1423,7 @@ "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="], - "remark-mdx": ["remark-mdx@3.1.0", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA=="], + "remark-mdx": ["remark-mdx@3.1.1", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg=="], "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="], @@ -981,11 +1433,11 @@ "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="], - "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], + "reselect": ["reselect@5.2.0", "", {}, "sha512-AgZ3UOZm3YndfrJ4OYjgrT7bmCm/1iqkjvEfH/oYjzh6PD2qw4QuT3jjnXIrpdt4MTpMXclMT3lXbmRY+XRakw=="], - "restructure": ["restructure@3.0.2", "", {}, "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw=="], + "resolve-from": ["resolve-from@4.0.0", "", {}, "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="], - "ret": ["ret@0.1.15", "", {}, "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="], + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="], @@ -995,31 +1447,63 @@ "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="], + "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], + + "reusify": ["reusify@1.1.0", "", {}, "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="], + "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="], - "rollup": ["rollup@4.46.2", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.46.2", "@rollup/rollup-android-arm64": "4.46.2", "@rollup/rollup-darwin-arm64": "4.46.2", "@rollup/rollup-darwin-x64": "4.46.2", "@rollup/rollup-freebsd-arm64": "4.46.2", "@rollup/rollup-freebsd-x64": "4.46.2", "@rollup/rollup-linux-arm-gnueabihf": "4.46.2", "@rollup/rollup-linux-arm-musleabihf": "4.46.2", "@rollup/rollup-linux-arm64-gnu": "4.46.2", "@rollup/rollup-linux-arm64-musl": "4.46.2", "@rollup/rollup-linux-loongarch64-gnu": "4.46.2", "@rollup/rollup-linux-ppc64-gnu": "4.46.2", "@rollup/rollup-linux-riscv64-gnu": "4.46.2", "@rollup/rollup-linux-riscv64-musl": "4.46.2", "@rollup/rollup-linux-s390x-gnu": "4.46.2", "@rollup/rollup-linux-x64-gnu": "4.46.2", "@rollup/rollup-linux-x64-musl": "4.46.2", "@rollup/rollup-win32-arm64-msvc": "4.46.2", "@rollup/rollup-win32-ia32-msvc": "4.46.2", "@rollup/rollup-win32-x64-msvc": "4.46.2", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg=="], + "rollup": ["rollup@4.62.2", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.62.2", "@rollup/rollup-android-arm64": "4.62.2", "@rollup/rollup-darwin-arm64": "4.62.2", "@rollup/rollup-darwin-x64": "4.62.2", "@rollup/rollup-freebsd-arm64": "4.62.2", "@rollup/rollup-freebsd-x64": "4.62.2", "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", "@rollup/rollup-linux-arm-musleabihf": "4.62.2", "@rollup/rollup-linux-arm64-gnu": "4.62.2", "@rollup/rollup-linux-arm64-musl": "4.62.2", "@rollup/rollup-linux-loong64-gnu": "4.62.2", "@rollup/rollup-linux-loong64-musl": "4.62.2", "@rollup/rollup-linux-ppc64-gnu": "4.62.2", "@rollup/rollup-linux-ppc64-musl": "4.62.2", "@rollup/rollup-linux-riscv64-gnu": "4.62.2", "@rollup/rollup-linux-riscv64-musl": "4.62.2", "@rollup/rollup-linux-s390x-gnu": "4.62.2", "@rollup/rollup-linux-x64-gnu": "4.62.2", "@rollup/rollup-linux-x64-musl": "4.62.2", "@rollup/rollup-openbsd-x64": "4.62.2", "@rollup/rollup-openharmony-arm64": "4.62.2", "@rollup/rollup-win32-arm64-msvc": "4.62.2", "@rollup/rollup-win32-ia32-msvc": "4.62.2", "@rollup/rollup-win32-x64-gnu": "4.62.2", "@rollup/rollup-win32-x64-msvc": "4.62.2", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA=="], + + "run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="], "s.color": ["s.color@0.0.15", "", {}, "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="], + "safe-array-concat": ["safe-array-concat@1.1.4", "", { "dependencies": { "call-bind": "^1.0.9", "call-bound": "^1.0.4", "get-intrinsic": "^1.3.0", "has-symbols": "^1.1.0", "isarray": "^2.0.5" } }, "sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safe-push-apply": ["safe-push-apply@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "isarray": "^2.0.5" } }, "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA=="], + + "safe-regex-test": ["safe-regex-test@1.1.0", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-regex": "^1.2.1" } }, "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw=="], + "sass-formatter": ["sass-formatter@0.7.9", "", { "dependencies": { "suf-log": "^2.5.3" } }, "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw=="], - "scheduler": ["scheduler@0.26.0", "", {}, "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="], + "sax": ["sax@1.6.0", "", {}, "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA=="], + + "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], "screenfull": ["screenfull@5.2.0", "", {}, "sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA=="], - "semver": ["semver@7.7.2", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="], + "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="], - "sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="], + "set-function-length": ["set-function-length@1.2.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", "has-property-descriptors": "^1.0.2" } }, "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="], - "shiki": ["shiki@3.9.2", "", { "dependencies": { "@shikijs/core": "3.9.2", "@shikijs/engine-javascript": "3.9.2", "@shikijs/engine-oniguruma": "3.9.2", "@shikijs/langs": "3.9.2", "@shikijs/themes": "3.9.2", "@shikijs/types": "3.9.2", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-t6NKl5e/zGTvw/IyftLcumolgOczhuroqwXngDeMqJ3h3EQiTY/7wmfgPlsmloD8oYfqkEDqxiaH37Pjm1zUhQ=="], + "set-function-name": ["set-function-name@2.0.2", "", { "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", "has-property-descriptors": "^1.0.2" } }, "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ=="], - "simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="], + "set-proto": ["set-proto@1.0.0", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0" } }, "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw=="], - "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], + + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], + + "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], + + "shiki": ["shiki@4.2.0", "", { "dependencies": { "@shikijs/core": "4.2.0", "@shikijs/engine-javascript": "4.2.0", "@shikijs/engine-oniguruma": "4.2.0", "@shikijs/langs": "4.2.0", "@shikijs/themes": "4.2.0", "@shikijs/types": "4.2.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-hjNax6o/ylDy9lefQEaSDtzaT3iVNtZ3WmpQnbuQNoG4xvnSKf2kSKbihZVO4JRG1TTMejs7CmNRYlWgAL66pQ=="], + + "side-channel": ["side-channel@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4", "side-channel-list": "^1.0.1", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ=="], - "smol-toml": ["smol-toml@1.4.2", "", {}, "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g=="], + "side-channel-list": ["side-channel-list@1.0.1", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.4" } }, "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w=="], - "smtp-address-parser": ["smtp-address-parser@1.0.10", "", { "dependencies": { "nearley": "^2.20.1" } }, "sha512-Osg9LmvGeAG/hyao4mldbflLOkkr3a+h4m1lwKCK5U8M6ZAr7tdXEz/+/vr752TSGE4MNUlUl9cIK2cB8cgzXg=="], + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "signal-exit": ["signal-exit@4.1.0", "", {}, "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw=="], + + "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="], + + "smol-toml": ["smol-toml@1.7.0", "", {}, "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ=="], "snake-case": ["snake-case@3.0.4", "", { "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" } }, "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg=="], @@ -1029,77 +1513,137 @@ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="], - "string-collapse-leading-whitespace": ["string-collapse-leading-whitespace@7.0.9", "", {}, "sha512-lEuTHlogBT9PWipfk0FOyvoMKX8syiE03QoFk5MDh8oS0AJ2C07IlstR5cGkxz48nKkOIuvkC28w9Rx/cVRNDg=="], + "spdx-correct": ["spdx-correct@3.2.0", "", { "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA=="], + + "spdx-exceptions": ["spdx-exceptions@2.5.0", "", {}, "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w=="], - "string-left-right": ["string-left-right@6.0.21", "", { "dependencies": { "codsen-utils": "^1.6.8", "rfdc": "^1.4.1" } }, "sha512-XmtL81F4iSCkKHzUz6KyqSTnh2ef3kccQtyAtqyHYv22Q6qOKS6CvOwEFY5nBTXc3WskfZCTM6ArOGJgFh3tDA=="], + "spdx-expression-parse": ["spdx-expression-parse@3.0.1", "", { "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="], - "string-strip-html": ["string-strip-html@13.4.13", "", { "dependencies": { "@types/lodash-es": "^4.17.12", "codsen-utils": "^1.6.8", "html-entities": "^2.6.0", "lodash-es": "^4.17.21", "ranges-apply": "^7.0.20", "ranges-push": "^7.0.19", "string-left-right": "^6.0.21" } }, "sha512-bth9qxlu/ZEJsy0MMlnrHYxtgW8VOvmhLMpcLh1oV5U0I3h4wBvHBTnZpB4o/V4/UepGNlaazdXS47C0WqyxFA=="], + "spdx-license-ids": ["spdx-license-ids@3.0.23", "", {}, "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw=="], - "string-trim-spaces-only": ["string-trim-spaces-only@5.0.13", "", {}, "sha512-NGYfr+ZPkE8OKvrkEysuHPhgPifpe6fd0NfdXUlLVykaZxBDuNW+Ln2ja9dvaWlC69vqh6ZbEbOLbfiEDgomCQ=="], + "stop-iteration-iterator": ["stop-iteration-iterator@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "internal-slot": "^1.1.0" } }, "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ=="], - "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="], + "string-collapse-leading-whitespace": ["string-collapse-leading-whitespace@7.1.3", "", {}, "sha512-bCgNODedM9daANnnNPOHuz++qUeVHgsPMghNPznbLLnBviNyuKt9vzHIa6OGTSpWzJUO4Rlffu4+RD47pSTq3g=="], + + "string-left-right": ["string-left-right@6.1.3", "", { "dependencies": { "codsen-utils": "^1.7.3", "rfdc": "^1.4.1" } }, "sha512-XPqLphMTTbPMRs4DPX0flLtVFsDWZ+Og3tyku1FiiE2b/+SUHmiO1KRg7NBlb5e9UrojE5F3ryXORL0VYhwwgA=="], + + "string-strip-html": ["string-strip-html@13.5.3", "", { "dependencies": { "@types/lodash-es": "^4.17.12", "codsen-utils": "^1.7.3", "html-entities": "^2.6.0", "lodash-es": "^4.17.22", "ranges-apply": "^7.1.3", "ranges-push": "^7.1.3", "string-left-right": "^6.1.3" } }, "sha512-MjrGYjcyOfY8VLXpbEJRtiHLFkWRRIdRt7hcBxGUo2GGM/YSyIfiRQ3q0y2pb+RwYHUfVbw3euuyLzxqyxhyIA=="], + + "string-trim-spaces-only": ["string-trim-spaces-only@5.1.3", "", {}, "sha512-Flb782YX49j4GkLv/M2rqJik/lUq+OJnT/q7kQ6byZtgknAo1wb1XFBN3b+7UMW5I6VB1QdNAoh9oiUa9izBpA=="], + + "string-width": ["string-width@6.1.0", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^10.2.1", "strip-ansi": "^7.0.1" } }, "sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "string.prototype.includes": ["string.prototype.includes@2.0.1", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-abstract": "^1.23.3" } }, "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg=="], + + "string.prototype.trim": ["string.prototype.trim@1.2.11", "", { "dependencies": { "call-bind": "^1.0.9", "call-bound": "^1.0.4", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", "es-abstract": "^1.24.2", "es-object-atoms": "^1.1.2", "has-property-descriptors": "^1.0.2", "safe-regex-test": "^1.1.0" } }, "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w=="], + + "string.prototype.trimend": ["string.prototype.trimend@1.0.10", "", { "dependencies": { "call-bind": "^1.0.9", "call-bound": "^1.0.4", "define-properties": "^1.2.1", "es-object-atoms": "^1.1.2" } }, "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw=="], + + "string.prototype.trimstart": ["string.prototype.trimstart@1.0.8", "", { "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" } }, "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="], - "strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="], + "strip-ansi": ["strip-ansi@7.2.0", "", { "dependencies": { "ansi-regex": "^6.2.2" } }, "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "style-to-js": ["style-to-js@1.1.17", "", { "dependencies": { "style-to-object": "1.0.9" } }, "sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA=="], + "strip-bom": ["strip-bom@3.0.0", "", {}, "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA=="], - "style-to-object": ["style-to-object@1.0.9", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw=="], + "style-to-js": ["style-to-js@1.1.21", "", { "dependencies": { "style-to-object": "1.0.14" } }, "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ=="], + + "style-to-object": ["style-to-object@1.0.14", "", { "dependencies": { "inline-style-parser": "0.2.7" } }, "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw=="], "suf-log": ["suf-log@2.5.3", "", { "dependencies": { "s.color": "0.0.15" } }, "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow=="], + "supports-color": ["supports-color@7.2.0", "", { "dependencies": { "has-flag": "^4.0.0" } }, "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="], + "svg-parser": ["svg-parser@2.0.4", "", {}, "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="], - "tabbable": ["tabbable@6.2.0", "", {}, "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew=="], + "svgo": ["svgo@4.0.1", "", { "dependencies": { "commander": "^11.1.0", "css-select": "^5.1.0", "css-tree": "^3.0.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.1.1", "sax": "^1.5.0" }, "bin": "./bin/svgo.js" }, "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w=="], + + "synckit": ["synckit@0.11.13", "", { "dependencies": { "@pkgr/core": "^0.3.6" } }, "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg=="], + + "tagged-tag": ["tagged-tag@1.0.0", "", {}, "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng=="], + + "tailwind-csstree": ["tailwind-csstree@0.3.3", "", { "peerDependencies": { "@eslint/css": ">=1.0.0" }, "optionalPeers": ["@eslint/css"] }, "sha512-je9J5UYRsTJqAjYrIBMMlge8T/rreRd44pJxgG5Zx/zeo4kAC/liUKqzztRZrGlYRJLvIf2Cb1DVJMTXSzEShA=="], + + "tailwindcss": ["tailwindcss@4.3.1", "", {}, "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q=="], + + "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="], "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], "tiny-invariant": ["tiny-invariant@1.3.3", "", {}, "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg=="], - "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + "tinyclip": ["tinyclip@0.1.14", "", {}, "sha512-F1oWdz8tjT17qe1d5JgDK6z03WGOhYYAN0lK3/D/fzNiy93xswLLEw7pk+3g05onhAy6Bsc6PLNUGhdgVjemMQ=="], + + "tinyexec": ["tinyexec@1.2.4", "", {}, "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg=="], - "tinyglobby": ["tinyglobby@0.2.14", "", { "dependencies": { "fdir": "^6.4.4", "picomatch": "^4.0.2" } }, "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ=="], + "tinyglobby": ["tinyglobby@0.2.17", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" } }, "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g=="], "tippy.js": ["tippy.js@6.3.7", "", { "dependencies": { "@popperjs/core": "^2.9.0" } }, "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ=="], - "tr46": ["tr46@0.0.3", "", {}, "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="], + "to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="], "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="], "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="], - "tsconfck": ["tsconfck@3.1.6", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w=="], + "ts-api-utils": ["ts-api-utils@2.5.0", "", { "peerDependencies": { "typescript": ">=4.8.4" } }, "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA=="], + + "tsconfig-paths": ["tsconfig-paths@4.2.0", "", { "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } }, "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg=="], + + "tsconfig-paths-webpack-plugin": ["tsconfig-paths-webpack-plugin@4.2.0", "", { "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.7.0", "tapable": "^2.2.1", "tsconfig-paths": "^4.1.2" } }, "sha512-zbem3rfRS8BgeNK50Zz5SIQgXzLafiHjOwUAvk/38/o1jHn/V5QAgVUcz884or7WYcPaH3N2CIfUc2u0ul7UcA=="], "tslib": ["tslib@2.3.0", "", {}, "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="], - "type-fest": ["type-fest@4.41.0", "", {}, "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA=="], + "type-check": ["type-check@0.4.0", "", { "dependencies": { "prelude-ls": "^1.2.1" } }, "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="], + + "type-fest": ["type-fest@5.7.0", "", { "dependencies": { "tagged-tag": "^1.0.0" } }, "sha512-1URUxUqfHFM1c+zfSPsa3gnkO7Aq21qyH75SIduNYz4SzY964rn1X2vCMQaHSHhktiw+0kPa2iyb6PUpXqB6Vg=="], + + "typed-array-buffer": ["typed-array-buffer@1.0.3", "", { "dependencies": { "call-bound": "^1.0.3", "es-errors": "^1.3.0", "is-typed-array": "^1.1.14" } }, "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw=="], - "typescript": ["typescript@5.9.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A=="], + "typed-array-byte-length": ["typed-array-byte-length@1.0.3", "", { "dependencies": { "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.14" } }, "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg=="], + + "typed-array-byte-offset": ["typed-array-byte-offset@1.0.4", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.8", "for-each": "^0.3.3", "gopd": "^1.2.0", "has-proto": "^1.2.0", "is-typed-array": "^1.1.15", "reflect.getprototypeof": "^1.0.9" } }, "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ=="], + + "typed-array-length": ["typed-array-length@1.0.8", "", { "dependencies": { "call-bind": "^1.0.9", "for-each": "^0.3.5", "gopd": "^1.2.0", "is-typed-array": "^1.1.15", "possible-typed-array-names": "^1.1.0", "reflect.getprototypeof": "^1.0.10" } }, "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g=="], + + "typedarray": ["typedarray@0.0.6", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="], + + "typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="], + + "typescript-eslint": ["typescript-eslint@8.61.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.61.1", "@typescript-eslint/parser": "8.61.1", "@typescript-eslint/typescript-estree": "8.61.1", "@typescript-eslint/utils": "8.61.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-V7PayAfJokV3pEHgN7/v03D1SpujhRfQtYLbLIiBfDDncdg4PAiRBfoS4cnCANK4jmAPncczi59QO3afiXUlNw=="], "ua-is-frozen": ["ua-is-frozen@0.1.2", "", {}, "sha512-RwKDW2p3iyWn4UbaxpP2+VxwqXh0jpvdxsYpZ5j/MLLiQOfbsV5shpgQiw93+KMYQPcteeMQ289MaAFzs3G9pw=="], - "ua-parser-js": ["ua-parser-js@2.0.4", "", { "dependencies": { "@types/node-fetch": "^2.6.12", "detect-europe-js": "^0.1.2", "is-standalone-pwa": "^0.1.1", "node-fetch": "^2.7.0", "ua-is-frozen": "^0.1.2" }, "bin": { "ua-parser-js": "script/cli.js" } }, "sha512-XiBOnM/UpUq21ZZ91q2AVDOnGROE6UQd37WrO9WBgw4u2eGvUCNOheMmZ3EfEUj7DLHr8tre+Um/436Of/Vwzg=="], + "ua-parser-js": ["ua-parser-js@2.0.10", "", { "dependencies": { "detect-europe-js": "^0.1.2", "is-standalone-pwa": "^0.1.1", "ua-is-frozen": "^0.1.2" }, "bin": { "ua-parser-js": "script/cli.js" } }, "sha512-t+3Ktbq0Ies2vaSezfOaWiolH4OigQIO1dk+1xDpOydB1COVPocVYOrEV5rqZ0kFY9XYG1v9LutCyMgYBpABcw=="], - "ufo": ["ufo@1.6.1", "", {}, "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="], + "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], "ultrahtml": ["ultrahtml@1.6.0", "", {}, "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw=="], - "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], + "unbox-primitive": ["unbox-primitive@1.1.0", "", { "dependencies": { "call-bound": "^1.0.3", "has-bigints": "^1.0.2", "has-symbols": "^1.1.0", "which-boxed-primitive": "^1.1.1" } }, "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw=="], - "undici-types": ["undici-types@7.10.0", "", {}, "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag=="], - - "unicode-properties": ["unicode-properties@1.4.1", "", { "dependencies": { "base64-js": "^1.3.0", "unicode-trie": "^2.0.0" } }, "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg=="], + "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="], - "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], + "undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="], "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="], - "unifont": ["unifont@0.5.2", "", { "dependencies": { "css-tree": "^3.0.0", "ofetch": "^1.4.1", "ohash": "^2.0.0" } }, "sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg=="], + "unified-engine": ["unified-engine@11.2.2", "", { "dependencies": { "@types/concat-stream": "^2.0.0", "@types/debug": "^4.0.0", "@types/is-empty": "^1.0.0", "@types/node": "^22.0.0", "@types/unist": "^3.0.0", "concat-stream": "^2.0.0", "debug": "^4.0.0", "extend": "^3.0.0", "glob": "^10.0.0", "ignore": "^6.0.0", "is-empty": "^1.0.0", "is-plain-obj": "^4.0.0", "load-plugin": "^6.0.0", "parse-json": "^7.0.0", "trough": "^2.0.0", "unist-util-inspect": "^8.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0", "vfile-reporter": "^8.0.0", "vfile-statistics": "^3.0.0", "yaml": "^2.0.0" } }, "sha512-15g/gWE7qQl9tQ3nAEbMd5h9HV1EACtFs6N9xaRBZICoCwnNGbal1kOs++ICf4aiTdItZxU2s/kYWhW7htlqJg=="], + + "unifont": ["unifont@0.7.4", "", { "dependencies": { "css-tree": "^3.1.0", "ofetch": "^1.5.1", "ohash": "^2.0.11" } }, "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg=="], "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="], - "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="], + "unist-util-inspect": ["unist-util-inspect@8.1.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-mOlg8Mp33pR0eeFpo5d2902ojqFFOKMMG2hF8bmH7ZlhnmjFgh0NI3/ZDwdaBJNbvrS7LZFVrBVtIE9KZ9s7vQ=="], + + "unist-util-is": ["unist-util-is@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g=="], "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="], @@ -1111,68 +1655,90 @@ "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="], - "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="], + "unist-util-visit": ["unist-util-visit@5.1.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg=="], "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="], - "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="], + "unist-util-visit-parents": ["unist-util-visit-parents@6.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ=="], + + "unstorage": ["unstorage@1.17.5", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^5.0.0", "destr": "^2.0.5", "h3": "^1.15.10", "lru-cache": "^11.2.7", "node-fetch-native": "^1.6.7", "ofetch": "^1.5.1", "ufo": "^1.6.3" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6 || ^7 || ^8", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1 || ^2 || ^3", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/functions", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg=="], - "unstorage": ["unstorage@1.16.1", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", "destr": "^2.0.5", "h3": "^1.15.3", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.6", "ofetch": "^1.4.1", "ufo": "^1.6.1" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-gdpZ3guLDhz+zWIlYP1UwQ259tG5T5vYRzDaHMkQ1bBY1SQPutvZnrRjTFaWUUpseErJIgAZS51h6NOcZVZiqQ=="], + "update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="], - "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="], + "uri-js": ["uri-js@4.4.1", "", { "dependencies": { "punycode": "^2.1.0" } }, "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="], - "use-sync-external-store": ["use-sync-external-store@1.5.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A=="], + "use-sync-external-store": ["use-sync-external-store@1.6.0", "", { "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "valibot": ["valibot@1.4.1", "", { "peerDependencies": { "typescript": ">=5" }, "optionalPeers": ["typescript"] }, "sha512-klCmFTz2jeDluy9RwX+F884TCiogtdBJ/YaxSx1EOBYXa3NXNWj8kR1jjN8rzluwojJVWWaHJ4r1U5LfICnM3g=="], "valid-url": ["valid-url@1.0.9", "", {}, "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA=="], + "validate-npm-package-license": ["validate-npm-package-license@3.0.4", "", { "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="], + + "validate-npm-package-name": ["validate-npm-package-name@5.0.1", "", {}, "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ=="], + "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="], "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="], "vfile-message": ["vfile-message@4.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw=="], - "vite": ["vite@6.3.5", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", "picomatch": "^4.0.2", "postcss": "^8.5.3", "rollup": "^4.34.9", "tinyglobby": "^0.2.13" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ=="], + "vfile-reporter": ["vfile-reporter@8.1.1", "", { "dependencies": { "@types/supports-color": "^8.0.0", "string-width": "^6.0.0", "supports-color": "^9.0.0", "unist-util-stringify-position": "^4.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0", "vfile-sort": "^4.0.0", "vfile-statistics": "^3.0.0" } }, "sha512-qxRZcnFSQt6pWKn3PAk81yLK2rO2i7CDXpy8v8ZquiEOMLSnPw6BMSi9Y1sUCwGGl7a9b3CJT1CKpnRF7pp66g=="], + + "vfile-sort": ["vfile-sort@4.0.0", "", { "dependencies": { "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ=="], + + "vfile-statistics": ["vfile-statistics@3.0.0", "", { "dependencies": { "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w=="], - "vite-plugin-svgr": ["vite-plugin-svgr@4.3.0", "", { "dependencies": { "@rollup/pluginutils": "^5.1.3", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0" }, "peerDependencies": { "vite": ">=2.6.0" } }, "sha512-Jy9qLB2/PyWklpYy0xk0UU3TlU0t2UMpJXZvf+hWII1lAmRHrOUKi11Uw8N3rxoNk7atZNYO3pR3vI1f7oi+6w=="], + "vite": ["vite@7.3.5", "", { "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww=="], - "vitefu": ["vitefu@1.1.1", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "optionalPeers": ["vite"] }, "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ=="], + "vite-plugin-svgr": ["vite-plugin-svgr@5.2.0", "", { "dependencies": { "@rollup/pluginutils": "^5.3.0", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0" }, "peerDependencies": { "vite": ">=3.0.0" } }, "sha512-qj2eAKF8C6PZWemVTvQA0xgQIcP1hHU6Buh7fl6BhvayWwnuxE+z417miKxeDvRWbDrupQ1oK99hfxElopJ3sQ=="], + + "vitefu": ["vitefu@1.1.3", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["vite"] }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="], + + "walk-up-path": ["walk-up-path@3.0.1", "", {}, "sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA=="], "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="], - "webidl-conversions": ["webidl-conversions@3.0.1", "", {}, "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="], + "which": ["which@2.0.2", "", { "dependencies": { "isexe": "^2.0.0" }, "bin": { "node-which": "./bin/node-which" } }, "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="], - "whatwg-url": ["whatwg-url@5.0.0", "", { "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="], + "which-boxed-primitive": ["which-boxed-primitive@1.1.1", "", { "dependencies": { "is-bigint": "^1.1.0", "is-boolean-object": "^1.2.1", "is-number-object": "^1.1.1", "is-string": "^1.1.1", "is-symbol": "^1.1.1" } }, "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA=="], - "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="], + "which-builtin-type": ["which-builtin-type@1.2.1", "", { "dependencies": { "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", "which-typed-array": "^1.1.16" } }, "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q=="], - "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="], + "which-collection": ["which-collection@1.0.2", "", { "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", "is-weakmap": "^2.0.2", "is-weakset": "^2.0.3" } }, "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw=="], - "wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="], + "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="], - "xxhash-wasm": ["xxhash-wasm@1.1.0", "", {}, "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA=="], + "which-typed-array": ["which-typed-array@1.1.22", "", { "dependencies": { "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" } }, "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw=="], - "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], + "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], - "yaml": ["yaml@2.8.1", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw=="], + "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], - "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="], + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], - "yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="], + "xxhash-wasm": ["xxhash-wasm@1.1.0", "", {}, "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA=="], + + "yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="], - "yocto-spinner": ["yocto-spinner@0.2.3", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ=="], + "yaml": ["yaml@2.9.0", "", { "bin": { "yaml": "bin.mjs" } }, "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA=="], - "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="], + "yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="], - "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + "yocto-queue": ["yocto-queue@1.2.2", "", {}, "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ=="], - "zod-to-json-schema": ["zod-to-json-schema@3.24.6", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg=="], + "zod": ["zod@4.4.3", "", {}, "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ=="], - "zod-to-ts": ["zod-to-ts@1.2.0", "", { "peerDependencies": { "typescript": "^4.9.4 || ^5.0.2", "zod": "^3" } }, "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA=="], + "zod-validation-error": ["zod-validation-error@4.0.2", "", { "peerDependencies": { "zod": "^3.25.0 || ^4.0.0" } }, "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ=="], - "zrender": ["zrender@6.0.0", "", { "dependencies": { "tslib": "2.3.0" } }, "sha512-41dFXEEXuJpNecuUQq6JlbybmnHaqqpGlbH1yxnA5V9MMP4SbohSVZsJIwz+zdjQXSSlR1Vc34EgH1zxyTDvhg=="], + "zrender": ["zrender@6.1.0", "", { "dependencies": { "tslib": "2.3.0" } }, "sha512-oEGMDB6pOP2S6OwRR4PdVv610zrjnA3Bh+JnSG12fYJlBKjtNAoEb5fSUoCOOINlH96I2fU38/A2UpRKs67xYQ=="], "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="], + "@astrojs/react/@vitejs/plugin-react": ["@vitejs/plugin-react@5.2.0", "", { "dependencies": { "@babel/core": "^7.29.0", "@babel/plugin-transform-react-jsx-self": "^7.27.1", "@babel/plugin-transform-react-jsx-source": "^7.27.1", "@rolldown/pluginutils": "1.0.0-rc.3", "@types/babel__core": "^7.20.5", "react-refresh": "^0.18.0" }, "peerDependencies": { "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw=="], + "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="], @@ -1181,44 +1747,146 @@ "@emnapi/runtime/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="], + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], + + "@isaacs/cliui/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "@mdx-js/mdx/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "@npmcli/git/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "@npmcli/git/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "@npmcli/map-workspaces/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], + + "@npmcli/promise-spawn/which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "@svgr/hast-util-to-babel-ast/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], - "@sagold/json-query/@sagold/json-pointer": ["@sagold/json-pointer@5.1.2", "", {}, "sha512-+wAhJZBXa6MNxRScg6tkqEbChEHMgVZAhTHVJ60Y7sbtXtu9XA49KfUkdWlS2x78D6H9nryiKePiYozumauPfA=="], + "@tailwindcss/node/enhanced-resolve": ["enhanced-resolve@5.21.6", "", { "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.3.3" } }, "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ=="], - "@swc/helpers/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], - "@testing-library/dom/aria-query": ["aria-query@5.3.0", "", { "dependencies": { "dequal": "^2.0.3" } }, "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], - "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], - "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="], + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.5", "", { "dependencies": { "@tybys/wasm-util": "^0.10.2" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q=="], - "boxen/camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="], + "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg=="], + + "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + + "anymatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + + "astro/@astrojs/compiler": ["@astrojs/compiler@4.0.0", "", {}, "sha512-eouss7G8ygdZqHuke033VMcVw5HTZUu+PXd/h06DGDUg/jt5btPYPqh66ENWw/mU78rBrf/oeC4oqoBwMtDMNA=="], + + "astro-eslint-parser/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="], + + "astro-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="], + + "astro-eslint-parser/espree": ["espree@10.4.0", "", { "dependencies": { "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", "eslint-visitor-keys": "^4.2.1" } }, "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ=="], + + "cosmiconfig/parse-json": ["parse-json@5.2.0", "", { "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", "json-parse-even-better-errors": "^2.3.0", "lines-and-columns": "^1.1.6" } }, "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg=="], + + "css-tree/mdn-data": ["mdn-data@2.27.1", "", {}, "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ=="], + + "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], + + "dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="], "dot-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "hast-util-to-parse5/property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="], + "eslint-plugin-astro/globals": ["globals@16.5.0", "", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="], + + "eslint-plugin-jsx-a11y/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="], + + "estree-util-build-jsx/estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], + + "glob/minimatch": ["minimatch@9.0.9", "", { "dependencies": { "brace-expansion": "^2.0.2" } }, "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg=="], + + "hosted-git-info/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + + "is-inside-container/is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], "lower-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "mdast-util-find-and-replace/escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="], + + "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + "no-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "p-locate/p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="], + "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="], - "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + "parse-json/type-fest": ["type-fest@3.13.1", "", {}, "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g=="], - "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="], + "parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], - "simple-swizzle/is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="], + "path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], "snake-case/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "strip-ansi/ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="], + "string-width/emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="], + + "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "unified-engine/@types/node": ["@types/node@22.20.0", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-QWlFW2wf3nTjC13/DqRnBpR4ZO36VJH/JVBkA/vcnmbTBNQIlnObqyqZE1tUR7+Ni23Lda8R1BxMfbXRpCUx5g=="], + + "unified-engine/ignore": ["ignore@6.0.2", "", {}, "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A=="], + + "vfile-reporter/supports-color": ["supports-color@9.4.0", "", {}, "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw=="], + + "wrap-ansi/ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + + "wrap-ansi/string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "@astrojs/react/@vitejs/plugin-react/@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.3", "", {}, "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q=="], + + "@npmcli/git/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], + + "@npmcli/map-workspaces/minimatch/brace-expansion": ["brace-expansion@2.1.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA=="], + + "@npmcli/promise-spawn/which/isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], + + "cosmiconfig/parse-json/json-parse-even-better-errors": ["json-parse-even-better-errors@2.3.1", "", {}, "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="], + + "cosmiconfig/parse-json/lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + + "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], + + "eslint-plugin-jsx-a11y/minimatch/brace-expansion": ["brace-expansion@1.1.15", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg=="], + + "glob/minimatch/brace-expansion": ["brace-expansion@2.1.1", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-WR1cURNjuvBLMZBMbqM0UoE+WAfdUcEV1ccD8PVBVOI+Z3ND4+SZbN8RsfT2bMuG1qwz5RFvPukSZm5fF2D5eA=="], + + "p-locate/p-limit/yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], + + "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "unified-engine/@types/node/undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "wrap-ansi/ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="], + "@npmcli/map-workspaces/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - "ansi-align/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + "eslint-plugin-jsx-a11y/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], - "ansi-align/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "glob/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], } } diff --git a/site/eslint.config.ts b/site/eslint.config.ts new file mode 100644 index 00000000..8231b602 --- /dev/null +++ b/site/eslint.config.ts @@ -0,0 +1,116 @@ +import js from "@eslint/js"; +import astro from "eslint-plugin-astro"; +import tailwind from "eslint-plugin-better-tailwindcss"; +import { getDefaultSelectors } from "eslint-plugin-better-tailwindcss/defaults"; +import { + MatcherType, + SelectorKind, +} from "eslint-plugin-better-tailwindcss/types"; +import * as mdx from "eslint-plugin-mdx"; +import prettier from "eslint-plugin-prettier/recommended"; +import reactHooks from "eslint-plugin-react-hooks"; +import { defineConfig, globalIgnores } from "eslint/config"; +import globals from "globals"; +import tslint from "typescript-eslint"; + +const tailwindSelectors = [ + ...getDefaultSelectors(), + { + kind: SelectorKind.Callee, + name: "^column$", + match: [{ type: MatcherType.ObjectValue, path: "^className$" }], + }, +]; + +export default defineConfig([ + globalIgnores(["dist", "public", ".astro", "cloud"]), + + // https://github.com/mdx-js/eslint-mdx/issues/92 + { + name: "TypeScript", + extends: tslint.configs.recommended, + ignores: ["**/*.mdx"], + rules: { + "@typescript-eslint/no-unused-vars": ["warn", { caughtErrors: "none" }], + "@typescript-eslint/consistent-type-definitions": ["error", "type"], + "@typescript-eslint/consistent-type-imports": "error", + }, + }, + + { + name: "Astro", + extends: astro.configs.recommended, + }, + + { + name: "JavaScript", + files: ["**/*.{ts,tsx,js,jsx}"], + ...js.configs.recommended, + rules: { + "prefer-const": ["error", { destructuring: "all" }], + }, + }, + + { + name: "React Hooks", + extends: [reactHooks.configs.flat.recommended], + }, + + { + name: "Prettier", + extends: [prettier], + ignores: ["**/*.astro/*.ts", "**/*.astro/*.js", "**/*.mdx"], + rules: { + "prettier/prettier": "warn", + }, + }, + + { + name: "Tailwind", + files: ["**/*.{astro,ts,tsx,js,jsx}"], + extends: [tailwind.configs.recommended], + rules: { + "better-tailwindcss/enforce-consistent-class-order": [ + "warn", + { + selectors: tailwindSelectors, + }, + ], + "better-tailwindcss/enforce-consistent-line-wrapping": [ + "warn", + { + preferSingleLine: true, + group: "never", + printWidth: 0, + selectors: tailwindSelectors, + }, + ], + "better-tailwindcss/no-unknown-classes": [ + "warn", + { ignore: ["^animate-"], selectors: tailwindSelectors }, + ], + "better-tailwindcss/no-unnecessary-whitespace": [ + "warn", + { selectors: tailwindSelectors }, + ], + }, + settings: { + "better-tailwindcss": { entryPoint: "./src/styles.css" }, + }, + }, + + { + name: "MDX", + ...mdx.flat, + rules: { + "@typescript-eslint/consistent-type-imports": "off", + }, + }, + + { + languageOptions: { + globals: globals.browser, + ecmaVersion: 2020, + }, + }, +]); diff --git a/site/package.json b/site/package.json index 11a33f83..e054d54e 100755 --- a/site/package.json +++ b/site/package.json @@ -8,42 +8,68 @@ "build": "astro build", "preview": "astro preview", "astro": "astro", - "lint": "prettier **/*.{astro,js,jsx,ts,mdx,mjs,module.css,css,html,md} --write --no-error-on-unmatched-pattern" + "lint": "eslint . --fix", + "format": "prettier --write .", + "test:types": "tsc", + "test:lint": "eslint .", + "test:format": "prettier --check .", + "test": "bun run test:types && bun run test:lint && bun run test:format && bun run build", + "clean": "rm -rf bun.lock node_modules dist .astro && bun pm cache clean" }, "dependencies": { - "@astrojs/mdx": "4.3.3", - "@astrojs/react": "4.3.0", - "@headlessui/react": "^2.2.7", + "@astrojs/mdx": "6.0.3", + "@astrojs/react": "5.0.7", + "@base-ui/react": "^1.6.0", + "@fontsource-variable/inter": "^5.2.8", + "@fontsource-variable/jetbrains-mono": "^5.2.8", "@kbox-labs/react-echarts": "^1.4.2", - "@reactuses/core": "^6.0.6", - "@sagold/json-pointer": "^7.1.2", + "@reactuses/core": "^6.3.2", + "@sagold/json-pointer": "^7.2.1", + "@tabler/icons-react": "^3.44.0", "@tanstack/react-table": "^8.21.3", - "astro": "5.12.9", + "astro": "6.4.8", "astro-google-analytics": "^1.0.3", "clsx": "^2.1.1", - "echarts": "^6.0.0", - "json-schema-library": "^10.2.1", - "lodash-es": "^4.17.21", + "echarts": "^6.1.0", + "json-schema-library": "^11.6.1", + "lodash-es": "^4.18.1", "micromark": "^4.0.2", "micromark-extension-gfm-autolink-literal": "^2.1.0", - "plotly.js-dist": "^3.1.0", - "react": "^19.1.1", + "plotly.js-dist": "^3.6.0", + "react": "^19.2.7", "react-children-utilities": "^2.10.0", - "react-dom": "^19.1.1", - "react-icons": "^5.5.0", - "string-strip-html": "^13.4.13", + "react-dom": "^19.2.7", + "string-strip-html": "^13.5.3", + "tailwindcss": "^4.3.1", "tippy.js": "^6.3.7", - "ua-parser-js": "^2.0.4" + "ua-parser-js": "^2.0.10" }, "devDependencies": { - "@ianvs/prettier-plugin-sort-imports": "^4.6.1", - "@types/react": "^19.1.10", - "@types/react-dom": "^19.1.7", - "postcss": "^8.5.6", - "prettier": "^3.6.2", + "@eslint/js": "^10.0.1", + "@ianvs/prettier-plugin-sort-imports": "^4.7.1", + "@tailwindcss/vite": "^4.3.1", + "@types/lodash-es": "^4.17.12", + "@types/node": "^26", + "@types/plotly.js": "^3.0.10", + "@types/react": "^19.2.17", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.2", + "eslint": "^10.5.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-astro": "^1.7.0", + "eslint-plugin-better-tailwindcss": "^4.6.0", + "eslint-plugin-jsx-a11y": "^6.10.2", + "eslint-plugin-mdx": "^3.8.1", + "eslint-plugin-prettier": "^5.5.6", + "eslint-plugin-react-hooks": "^7.1.1", + "globals": "^17.6.0", + "prettier": "^3.8.4", "prettier-plugin-astro": "^0.14.1", - "prettier-plugin-css-order": "^2.1.2", - "vite-plugin-svgr": "^4.3.0", - "yaml": "^2.8.1" + "prettier-plugin-tailwindcss": "^0.8.0", + "type-fest": "^5.7.0", + "typescript": "^6.0.3", + "typescript-eslint": "^8.61.1", + "vite-plugin-svgr": "^5.2.0", + "yaml": "^2.9.0" } } diff --git a/site/public/images/team/gabriel-zinser.jpg b/site/public/images/team/gabriel-zinser.jpg new file mode 100644 index 00000000..b4615437 Binary files /dev/null and b/site/public/images/team/gabriel-zinser.jpg differ diff --git a/site/src/api/index.js b/site/src/api/index.ts similarity index 88% rename from site/src/api/index.js rename to site/src/api/index.ts index 0f9663a8..172909cb 100644 --- a/site/src/api/index.js +++ b/site/src/api/index.ts @@ -1,10 +1,9 @@ -/** whether to mock (fake) network requests */ -export const mock = new URL(window.location.href).searchParams.has("mock"); +console.debug({ env: import.meta.env }); /** general request */ export async function request( /** request url */ - url, + url: URL | string, /** fetch options */ options = {}, /** parse response mode */ diff --git a/site/src/api/issue.js b/site/src/api/issue.ts similarity index 64% rename from site/src/api/issue.js rename to site/src/api/issue.ts index e4331371..36e7c571 100644 --- a/site/src/api/issue.js +++ b/site/src/api/issue.ts @@ -1,14 +1,20 @@ -import { mock, request } from "./"; +import { request } from "."; /** create issue in repo. see /cloud/issue */ -export const createIssue = async (params) => { - if (mock) { +export const createIssue = async (params: { + owner: string; + repo: string; + title: string; + body: string; + labels: string[]; +}) => { + if (import.meta.env.DEV) { console.debug("Issue", params); return { link: "https://fake-link.com" }; } const headers = new Headers(); headers.append("Content-Type", "application/json"); - body = JSON.stringify(params); + const body = JSON.stringify(params); const options = { method: "POST", headers, body }; const url = "https://strchive-issue-467600139623.us-central1.run.app"; const created = await request(url, options); diff --git a/site/src/api/pr.js b/site/src/api/pr.ts similarity index 63% rename from site/src/api/pr.js rename to site/src/api/pr.ts index 8a1aa4aa..7013714a 100644 --- a/site/src/api/pr.js +++ b/site/src/api/pr.ts @@ -1,8 +1,16 @@ -import { mock, request } from "./"; +import { request } from "."; /** create pr in repo. see /cloud/pr */ -export const createPR = async (params) => { - if (mock) { +export const createPR = async (params: { + owner: "dashnowlab"; + repo: string; + branch: string; + title: string; + body: string; + files: { path: string; content: string }[]; + labels: string[]; +}) => { + if (import.meta.env.DEV) { console.debug("PR", params); return { link: "https://fake-link.com" }; } diff --git a/site/src/assets/check.svg b/site/src/assets/check.svg deleted file mode 100644 index fb57318a..00000000 --- a/site/src/assets/check.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/site/src/assets/logo.svg b/site/src/assets/logo.svg index 1ee6dda8..bfffd1d7 100644 --- a/site/src/assets/logo.svg +++ b/site/src/assets/logo.svg @@ -9,7 +9,8 @@ --duration: 3s; } - [data-logo] path { + [data-logo] path, + [data-logo] use { --delay: 0; animation: draw var(--duration) calc(var(--delay) * var(--duration)) ease both; @@ -36,7 +37,7 @@ } - + - + @@ -56,7 +57,7 @@ - + @@ -78,10 +79,10 @@ d="M -15.5 -40 L 5 -40 A 20 20 0 0 1 5 0 L -10 0" /> - + - + @@ -94,35 +95,8 @@ y="99" fill="currentColor" class="fade" - style="--delay: 0.5; font-family: Barlow, sans-serif; font-size: 100px" + style="--delay: 0.5; font-family: Inter, sans-serif; font-size: 100px" > chive - - - - - - - - - - - - - diff --git a/site/src/assets/x.svg b/site/src/assets/x.svg deleted file mode 100644 index 98b9972c..00000000 --- a/site/src/assets/x.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/site/src/components/Alert.jsx b/site/src/components/Alert.jsx deleted file mode 100755 index 8e575091..00000000 --- a/site/src/components/Alert.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import { - FaCircleCheck, - FaCircleExclamation, - FaCircleInfo, - FaTriangleExclamation, -} from "react-icons/fa6"; -import clsx from "clsx"; -import Loading from "@/assets/loading.svg?react"; -import classes from "./Alert.module.css"; - -/** available categories of marks and associated styles */ -export const types = { - info: { color: "var(--tertiary)", icon: }, - loading: { color: "var(--gray)", icon: }, - success: { color: "var(--primary)", icon: }, - warning: { color: "var(--secondary)", icon: }, - error: { color: "var(--secondary)", icon: }, -}; - -/** colored box with icon and text */ -const Alert = ({ - type = "info", - icon, - className = "", - style = {}, - children, - ...props -}) => ( -
- {icon ?? types[type].icon} -
{children}
-
-); - -export default Alert; diff --git a/site/src/components/Alert.module.css b/site/src/components/Alert.module.css deleted file mode 100755 index c951fa7e..00000000 --- a/site/src/components/Alert.module.css +++ /dev/null @@ -1,27 +0,0 @@ -.alert { - display: flex; - z-index: 0; - position: relative; - flex-shrink: 0; - align-items: center; - padding: 20px; - overflow: hidden; - gap: 20px; - border-radius: var(--rounded); - line-height: var(--compact); - text-align: left; -} - -.alert::before { - z-index: -1; - position: absolute; - inset: 0; - background: var(--color); - content: ""; - opacity: 0.1; -} - -.alert > svg { - flex-shrink: 0; - color: var(--color); -} diff --git a/site/src/components/Alert.tsx b/site/src/components/Alert.tsx new file mode 100755 index 00000000..e74376b2 --- /dev/null +++ b/site/src/components/Alert.tsx @@ -0,0 +1,55 @@ +import type { ComponentProps, ReactNode } from "react"; +import Loading from "@/assets/loading.svg?react"; +import { + IconAlertCircle, + IconAlertTriangle, + IconCircleCheck, + IconInfoCircle, +} from "@tabler/icons-react"; +import clsx from "clsx"; + +/** available categories of marks and associated styles */ +export const types = { + info: { className: "text-tertiary", icon: }, + loading: { className: "text-gray", icon: }, + success: { className: "text-primary", icon: }, + warning: { className: "text-secondary", icon: }, + error: { className: "text-secondary", icon: }, +}; + +type Type = keyof typeof types; + +type Props = { + type?: string; + icon?: ReactNode; +} & ComponentProps<"div">; + +/** colored box with icon and text */ +export default function Alert({ + type = "info", + icon, + className = "", + children, + ...props +}: Props) { + return ( +
+
+
+ {icon ?? types[type as Type]?.icon} +
+
{children}
+
+ ); +} diff --git a/site/src/components/Button.jsx b/site/src/components/Button.jsx deleted file mode 100644 index 68adde42..00000000 --- a/site/src/components/Button.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import clsx from "clsx"; -import Link from "@/components/Link"; -import classes from "./Button.module.css"; - -/** looks like a button, and either does something or goes somewhere */ -const Button = ({ design, className, ...props }) => { - const Component = props.to ? Link : "button"; - return ( - - ); -}; - -export default Button; diff --git a/site/src/components/Button.module.css b/site/src/components/Button.module.css deleted file mode 100644 index a64226fb..00000000 --- a/site/src/components/Button.module.css +++ /dev/null @@ -1,34 +0,0 @@ -.button { - display: inline-flex; - align-items: center; - justify-content: center; - min-width: 40px; - min-height: 40px; - padding: 7.5px; - gap: 10px; - border-radius: var(--rounded); - text-decoration: none; -} - -.button:has(span) { - padding: 7.5px 15px; -} - -.plain { - background: var(--light-gray); -} - -.bubble { - gap: 10px; - border: solid 2px currentColor; - border-radius: 999px; - background: none; - color: currentColor; - font-weight: var(--medium); -} - -.bubble:hover { - background: var(--secondary); - box-shadow: 0 0 0 2px var(--secondary); - color: var(--white); -} diff --git a/site/src/components/Button.tsx b/site/src/components/Button.tsx new file mode 100644 index 00000000..bc838a20 --- /dev/null +++ b/site/src/components/Button.tsx @@ -0,0 +1,39 @@ +import type { ComponentProps, Ref } from "react"; +import Link from "@/components/Link"; +import clsx from "clsx"; + +type ButtonProps = ComponentProps<"button">; +type AnchorProps = ComponentProps; + +type Props = { + design?: "" | "hollow" | "plain" | "bubble"; +} & (ButtonProps | AnchorProps); + +/** looks like a button, and either does something or goes somewhere */ +export default function Button({ + ref, + design = "", + className = "", + ...props +}: Props) { + const Component = "to" in props ? Link : "button"; + + return ( + & Ref} + type="button" + className={clsx( + "inline-flex items-center justify-center leading-normal no-underline", + !!design && "min-h-10 max-w-full min-w-10 gap-2 px-[0.75em] py-[0.5em]", + design === "hollow" && "hover:text-primary", + design === "plain" && + "rounded-md bg-light-gray text-current hover:text-primary", + design === "bubble" && + "gap-2 rounded-full text-lg text-current ring-2 ring-current ring-inset hover:bg-secondary hover:text-white", + className, + )} + arrow={Component === Link ? false : undefined} + {...(props as ButtonProps & AnchorProps)} + /> + ); +} diff --git a/site/src/components/CheckBox.jsx b/site/src/components/CheckBox.jsx deleted file mode 100644 index 530eb545..00000000 --- a/site/src/components/CheckBox.jsx +++ /dev/null @@ -1,41 +0,0 @@ -import { useEffect, useRef } from "react"; -import clsx from "clsx"; -import classes from "./CheckBox.module.css"; - -/** checkbox with label */ -const CheckBox = ({ - label, - checked, - onChange, - className, - tooltip, - ...props -}) => { - const ref = useRef(null); - - useEffect(() => { - ref.current.indeterminate = checked === "mixed"; - }, [checked]); - - return ( - - ); -}; - -export default CheckBox; diff --git a/site/src/components/CheckBox.module.css b/site/src/components/CheckBox.module.css deleted file mode 100644 index 8e40f1bc..00000000 --- a/site/src/components/CheckBox.module.css +++ /dev/null @@ -1,22 +0,0 @@ -.input { - appearance: none; - width: 20px; - height: 20px; - border-radius: calc(var(--rounded) / 2); - background-position: center; - background-size: 100%; - background-repeat: no-repeat; - background-color: var(--white); - box-shadow: inset 0 0 0 2px var(--dark-gray); - accent-color: var(--primary); -} - -.input[aria-checked="true"] { - background-image: url("../assets/check.svg"); - background-color: var(--primary); -} - -.input[aria-checked="false"] { - background-image: url("../assets/x.svg"); - background-color: var(--secondary); -} diff --git a/site/src/components/CheckBox.tsx b/site/src/components/CheckBox.tsx new file mode 100644 index 00000000..208fcb12 --- /dev/null +++ b/site/src/components/CheckBox.tsx @@ -0,0 +1,62 @@ +import type { ComponentProps, ReactNode } from "react"; +import { useEffect, useRef } from "react"; +import Help from "@/components/Help"; +import { IconCheck, IconX } from "@tabler/icons-react"; +import clsx from "clsx"; + +type Props = { + label: ReactNode; + checked: boolean | "mixed"; + onChange?: (checked: boolean | "mixed") => void; + help?: ReactNode; +} & Omit, "onChange" | "checked">; + +/** checkbox with label */ +export default function CheckBox({ + label, + checked, + onChange, + className, + help, + ...props +}: Props) { + const ref = useRef(null); + + useEffect(() => { + if (ref.current) ref.current.indeterminate = checked === "mixed"; + }, [checked]); + + return ( + + ); +} diff --git a/site/src/components/Collapsible.jsx b/site/src/components/Collapsible.jsx deleted file mode 100644 index 8694220c..00000000 --- a/site/src/components/Collapsible.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import { FaAngleDown } from "react-icons/fa6"; -import classes from "./Collapsible.module.css"; - -/** collapsible section */ -const Collapsible = ({ label, children }) => ( -
- - - {label} - - {children} -
-); - -export default Collapsible; diff --git a/site/src/components/Collapsible.module.css b/site/src/components/Collapsible.module.css deleted file mode 100644 index 5e83e396..00000000 --- a/site/src/components/Collapsible.module.css +++ /dev/null @@ -1,36 +0,0 @@ -.details { - width: 100%; -} - -.summary { - display: flex; - align-items: center; - justify-content: center; - max-width: max-content; - margin: 0 auto; - padding: 5px 10px; - gap: 10px; - border-radius: var(--rounded); - background: var(--light-gray); - transition: - background var(--fast), - color var(--fast); -} - -.details[open] .summary { - margin-bottom: 10px; -} - -.summary:hover { - background: var(--dark-gray); - color: var(--white); -} - -.icon { - rotate: -90deg; - opacity: 0.5; -} - -.details[open] .icon { - rotate: 0deg; -} diff --git a/site/src/components/ComboBox.jsx b/site/src/components/ComboBox.jsx deleted file mode 100644 index 526cdcbc..00000000 --- a/site/src/components/ComboBox.jsx +++ /dev/null @@ -1,93 +0,0 @@ -import { useState } from "react"; -import { FaAngleDown, FaCheck } from "react-icons/fa6"; -import clsx from "clsx"; -import { - Combobox, - ComboboxButton, - ComboboxInput, - ComboboxOption, - ComboboxOptions, -} from "@headlessui/react"; -import Button from "@/components/Button"; -import classes from "./ComboBox.module.css"; - -/** textbox with autocomplete */ -const ComboBox = ({ - label, - options = [], - value, - onChange, - placeholder, - tooltip, -}) => { - const [query, setQuery] = useState(""); - - return ( - - ); -}; - -export default ComboBox; diff --git a/site/src/components/ComboBox.module.css b/site/src/components/ComboBox.module.css deleted file mode 100644 index 727df050..00000000 --- a/site/src/components/ComboBox.module.css +++ /dev/null @@ -1,72 +0,0 @@ -.select { - display: flex; - position: relative; - align-items: center; - width: 100%; - min-width: 40px; - min-height: 40px; - gap: 10px; - border-radius: var(--rounded); - background: var(--white); - box-shadow: inset 0 0 0 2px var(--dark-gray); -} - -.input, -.selected { - padding: 5px 10px; - padding-right: 30px; -} - -.input { - width: 100%; - height: 40px; - color: currentColor; -} - -.selected { - display: flex; - position: absolute; - align-items: center; - inset: 0; - text-align: left; -} - -.select:focus-within .selected { - opacity: 0; -} - -.select:not(:focus-within) .input { - opacity: 0; -} - -.button { - display: grid; - position: absolute; - right: 0; - place-items: center; - width: 40px; - height: 40px; - transition: color var(--fast); -} - -.options { - display: flex; - flex-direction: column; - width: var(--input-width); - border-radius: var(--rounded); - background: var(--white); - box-shadow: var(--box-shadow); -} - -.option { - display: flex; - align-items: center; - padding: 5px 15px; - cursor: pointer; - transition: background var(--fast); -} - -.option[data-focus], -.option:hover { - background: var(--light-gray); -} diff --git a/site/src/components/ComboBox.tsx b/site/src/components/ComboBox.tsx new file mode 100644 index 00000000..62e4426c --- /dev/null +++ b/site/src/components/ComboBox.tsx @@ -0,0 +1,81 @@ +import type { ReactNode } from "react"; +import { useState } from "react"; +import Help from "@/components/Help"; +import { Combobox as _Combobox } from "@base-ui/react"; + +type Option = { + value: string; + label?: ReactNode; + special?: boolean; +}; + +type Props = { + label?: ReactNode; + options?: Option[]; + value: string; + onChange: (value: string) => void; + placeholder?: string; + help?: ReactNode; +}; + +/** textbox with autocomplete */ +export default function ComboBox({ + label, + options = [], + value, + onChange, + placeholder, + help, +}: Props) { + const [query, setQuery] = useState(""); + + /** custom entry */ + if (query.trim()) + options = [...options, { value: query, label: query, special: true }]; + + return ( + <_Combobox.Root + items={options} + value={value} + onValueChange={(value) => { + if (value !== null) onChange(value); + }} + inputValue={query} + onInputValueChange={setQuery} + onOpenChange={(open) => { + if (!open) setQuery(""); + }} + > + + + <_Combobox.Portal> + <_Combobox.Positioner collisionPadding={20}> + <_Combobox.Popup> + <_Combobox.List className="flex max-h-(--available-height) w-(--anchor-width) flex-col overflow-y-auto rounded-md bg-white shadow-md"> + {(item: Option) => ( + <_Combobox.Item + key={item.value} + value={item.value} + className="flex cursor-pointer items-center gap-2 px-4 py-2 transition hover:bg-light-gray data-highlighted:bg-light-gray" + > + {item.special ? `"${item.label}"` : item.label} + + )} + + + + + + ); +} diff --git a/site/src/components/Contact.module.css b/site/src/components/Contact.module.css deleted file mode 100644 index cb1a0917..00000000 --- a/site/src/components/Contact.module.css +++ /dev/null @@ -1,24 +0,0 @@ -.form { - display: grid; - grid-template-columns: auto minmax(200px, 600px); - gap: 20px; -} - -@media (max-width: 600px) { - .form { - grid-template-columns: auto; - } -} - -.form > label { - display: contents; -} - -.link { - text-decoration: underline; -} - -.shrink { - width: 0; - min-width: 100%; -} diff --git a/site/src/components/ContactForm.jsx b/site/src/components/ContactForm.tsx similarity index 78% rename from site/src/components/ContactForm.jsx rename to site/src/components/ContactForm.tsx index 1ef7b0b4..d1ce8852 100644 --- a/site/src/components/ContactForm.jsx +++ b/site/src/components/ContactForm.tsx @@ -1,14 +1,6 @@ -import { useContext, useEffect } from "react"; -import { FaPaperPlane } from "react-icons/fa6"; -import { Fragment } from "react/jsx-runtime"; -import clsx from "clsx"; -import { mapValues, startCase, truncate } from "lodash-es"; -import { useLocalStorage } from "@reactuses/core"; import { createIssue } from "@/api/issue"; import Alert from "@/components/Alert"; import Button from "@/components/Button"; -import Collapsible from "@/components/Collapsible"; -import { DialogContext } from "@/components/Dialog"; import Form from "@/components/Form"; import Help from "@/components/Help"; import Link from "@/components/Link"; @@ -17,7 +9,10 @@ import { repo } from "@/layouts/meta"; import { userAgent } from "@/util/browser"; import { useQuery } from "@/util/hooks"; import { shortenUrl } from "@/util/string"; -import classes from "./Contact.module.css"; +import { useLocalStorage } from "@reactuses/core"; +import { IconSend } from "@tabler/icons-react"; +import clsx from "clsx"; +import { mapValues, startCase, truncate } from "lodash-es"; /** shared schema info for user contact info */ export const contactSchema = { @@ -27,7 +22,7 @@ export const contactSchema = { placeholder: "Your Name", }, username: { - title: "GitHub Username", + title: "GitHub", description: "Optional. So we can tag you and you can follow activity.", placeholder: "@username", }, @@ -52,7 +47,7 @@ const contactFields = mapValues( }), ); -const ContactForm = () => { +export default function ContactForm() { /** form state */ let [name, setName] = useLocalStorage("contact-name", ""); let [username, setUsername] = useLocalStorage("contact-username", ""); @@ -112,7 +107,6 @@ const ContactForm = () => { query: submit, data: response, status, - reset, } = useQuery(() => createIssue({ owner: "dashnowlab", @@ -123,23 +117,20 @@ const ContactForm = () => { }), ); - const { isOpen } = useContext(DialogContext); - - /** reset query when dialog re-opened */ - useEffect(() => { - if (isOpen) reset(); - }, [isOpen]); - return (
- + Want to suggest a new locus or an edit to an existing one? Use the{" "} new locus form or go to an{" "} existing locus and use the{" "} suggest edit form. -
+
label]:contents", + )} + > { />
- -
- {Object.entries(details).map(([key, value]) => ( - -
{key}
-
{value}
-
- ))} -
-
- - + {status === "" && ( <> This will make a public post on{" "} - our GitHub with all the info above. - You'll get a link to it once it's created. + our GitHub with all of the above and + some debug info. You'll get a link to it once it's created. )} {startCase(status)}{" "} @@ -191,13 +171,11 @@ const ContactForm = () => { {status === "" && ( - )} ); -}; - -export default ContactForm; +} diff --git a/site/src/components/ContactLink.jsx b/site/src/components/ContactLink.jsx deleted file mode 100644 index 10a81d07..00000000 --- a/site/src/components/ContactLink.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import Button from "@/components/Button"; -import ContactForm from "@/components/ContactForm"; -import Dialog from "@/components/Dialog"; -import classes from "./Contact.module.css"; - -const ContactLink = () => ( - - Contact - - } - > - - -); - -export default ContactLink; diff --git a/site/src/components/ContactLink.tsx b/site/src/components/ContactLink.tsx new file mode 100644 index 00000000..2e040f60 --- /dev/null +++ b/site/src/components/ContactLink.tsx @@ -0,0 +1,18 @@ +import Button from "@/components/Button"; +import ContactForm from "@/components/ContactForm"; +import Dialog from "@/components/Dialog"; + +export default function ContactLink() { + return ( + + Contact + + } + > + + + ); +} diff --git a/site/src/components/Dialog.jsx b/site/src/components/Dialog.jsx deleted file mode 100644 index a8ebeb81..00000000 --- a/site/src/components/Dialog.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import { cloneElement, createContext, useRef, useState } from "react"; -import { FaXmark } from "react-icons/fa6"; -import clsx from "clsx"; -import { - useClickOutside, - useEventListener, - useScrollLock, -} from "@reactuses/core"; -import Button from "@/components/Button"; -import classes from "./Dialog.module.css"; - -export const DialogContext = createContext({}); - -const Dialog = ({ trigger, title, children }) => { - const dialogRef = useRef(null); - const boxRef = useRef(null); - const [isOpen, setIsOpen] = useState(false); - const [, setLocked] = useScrollLock(); - - const open = () => { - setIsOpen(true); - dialogRef.current?.showModal(); - setLocked(true); - }; - - const close = () => { - setIsOpen(false); - dialogRef.current?.close(); - setLocked(false); - }; - - useEventListener("close", () => setIsOpen(false), dialogRef); - useClickOutside(boxRef, close); - - return ( - <> - {cloneElement(trigger, { onClick: open })} - - -
-
- {title} - -
- -
- - {children} - -
-
-
- - ); -}; - -export default Dialog; diff --git a/site/src/components/Dialog.module.css b/site/src/components/Dialog.module.css deleted file mode 100644 index 66373792..00000000 --- a/site/src/components/Dialog.module.css +++ /dev/null @@ -1,48 +0,0 @@ -.dialog { - display: none; - position: fixed; - width: 100dvw; - max-width: unset; - height: 100dvh; - max-height: unset; - margin: 0; - inset: 0; - padding: 0; - border: none; - background: var(--shadow); - text-align: left; -} - -.dialog[open] { - display: grid; -} - -.box { - max-width: min(calc(100dvw - 80px), var(--content)); - max-height: calc(100dvh - 80px); - margin: auto; - gap: 0; - border-radius: var(--rounded); - background: var(--white); - box-shadow: var(--box-shadow); -} - -.title { - display: flex; - align-items: center; - width: 100%; - padding: 20px; - padding-bottom: 0; - font-size: 1.1rem; -} - -.title > :first-child { - flex-grow: 1; - font-weight: var(--bold); -} - -.body { - padding: 20px; - overflow-y: auto; - overscroll-behavior: none; -} diff --git a/site/src/components/Dialog.tsx b/site/src/components/Dialog.tsx new file mode 100644 index 00000000..51927dd8 --- /dev/null +++ b/site/src/components/Dialog.tsx @@ -0,0 +1,34 @@ +import type { ReactElement, ReactNode } from "react"; +import { Dialog as _Dialog } from "@base-ui/react"; +import { IconX } from "@tabler/icons-react"; + +type Props = { + trigger: ReactElement<{ onClick?: () => void }>; + title: string; + children: ReactNode; +}; + +export default function Dialog({ trigger, title, children }: Props) { + return ( + <_Dialog.Root> + <_Dialog.Trigger render={trigger} /> + <_Dialog.Portal className="z-10"> + <_Dialog.Backdrop className="fixed inset-0 bg-black/75" /> + <_Dialog.Popup className="pointer-events-none fixed inset-0 grid h-screen w-screen place-items-center p-12 max-sm:p-8"> +
+
+ {title} + <_Dialog.Close> + + +
+ +
+ {children} +
+
+ + + + ); +} diff --git a/site/src/components/Footer.astro b/site/src/components/Footer.astro index 00b559ae..97c603de 100644 --- a/site/src/components/Footer.astro +++ b/site/src/components/Footer.astro @@ -3,88 +3,36 @@ import ContactLink from "@/components/ContactLink"; import Link from "@/components/Link"; --- -
-
+
+
Cite Contribute
-
+
-
+
Research use only. - The content on and linked from this website does not constitute professional - medical guidance. + The content on and linked from this website does not constitute professional medical + guidance.
-
+
-
+
Licensed under - CC BY 4.0 - + CC BY 4.0 + CC BY 4.0
- - diff --git a/site/src/components/Form.jsx b/site/src/components/Form.tsx similarity index 80% rename from site/src/components/Form.jsx rename to site/src/components/Form.tsx index 7344864e..55a915f2 100644 --- a/site/src/components/Form.jsx +++ b/site/src/components/Form.tsx @@ -1,12 +1,20 @@ +import type { ComponentProps, SubmitEvent } from "react"; import { useEventListener } from "@reactuses/core"; +type Props = { + onSubmit: ( + data: Record, + event: SubmitEvent, + ) => void; +} & ComponentProps<"form">; + /** form wrapper around set of fields */ -const Form = ({ onSubmit, ...props }) => { +export default function Form({ onSubmit, ...props }: Props) { usePreventImplicitSubmit(); return (
{ /** prevent page navigation */ event.preventDefault(); @@ -15,7 +23,7 @@ const Form = ({ onSubmit, ...props }) => { const form = event.currentTarget; const formData = new FormData(form); - const data = {}; + const data: Record = {}; /** transform form data into nicer format */ for (const [key, value] of formData.entries()) { @@ -37,9 +45,7 @@ const Form = ({ onSubmit, ...props }) => { {...props} /> ); -}; - -export default Form; +} /** prevent implicit form submit */ const usePreventImplicitSubmit = () => { diff --git a/site/src/components/Header.astro b/site/src/components/Header.astro index 9b6caa98..ab49fed6 100644 --- a/site/src/components/Header.astro +++ b/site/src/components/Header.astro @@ -1,8 +1,8 @@ --- -import { FaGithub } from "react-icons/fa6"; import Logo from "@/assets/logo.svg?react"; import Link from "@/components/Link"; import { repo, version } from "@/layouts/meta"; +import { IconBrandGithub } from "@tabler/icons-react"; const path = Astro.url.pathname; @@ -12,125 +12,111 @@ const links = [ { to: "/resources", name: "Resources" }, { to: "/about", name: "About" }, { to: "/critria", name: "criTRia" }, + { to: repo, name: "GitHub", icon: IconBrandGithub }, ]; --- -
-
- )} -
- ); -}; - -export default Table; diff --git a/site/src/components/Table.module.css b/site/src/components/Table.module.css deleted file mode 100644 index bb535c5f..00000000 --- a/site/src/components/Table.module.css +++ /dev/null @@ -1,54 +0,0 @@ -.root { - width: 100%; - gap: 10px; -} - -.table { - min-width: 100%; -} - -.table th { - padding: 0; -} - -.th { - justify-content: flex-start; - width: 100%; - height: 100%; - padding: 5px 10px; - gap: 5px; - border: none; - background: none; - color: var(--dark-gray); - text-align: left; -} - -.th:hover { - background: none; - color: var(--primary); -} - -.th[data-active] { - color: var(--primary); -} - -.empty { - padding: 20px; - color: var(--dark-gray); - text-align: center; -} - -.controls { - justify-content: space-between; - width: 100%; -} - -@media (max-width: 600px) { - .controls { - flex-direction: column; - } -} - -.control-row { - gap: 0; -} diff --git a/site/src/components/Table.tsx b/site/src/components/Table.tsx new file mode 100644 index 00000000..7932c6d1 --- /dev/null +++ b/site/src/components/Table.tsx @@ -0,0 +1,367 @@ +import type { ReactNode } from "react"; +import type { ColumnDef, RowData, SortingState } from "@tanstack/react-table"; +import type { ValueOf } from "type-fest"; +import { useState } from "react"; +import Button from "@/components/Button"; +import Popover from "@/components/Popover"; +import Select from "@/components/Select"; +import { downloadJson } from "@/util/download"; +import { + IconArrowsSort, + IconChevronLeft, + IconChevronRight, + IconChevronsLeft, + IconChevronsRight, + IconDownload, + IconSortAscending, + IconSortDescending, +} from "@tabler/icons-react"; +import { + createColumnHelper, + flexRender, + getCoreRowModel, + getFacetedMinMaxValues, + getFacetedRowModel, + getFacetedUniqueValues, + getFilteredRowModel, + getPaginationRowModel, + getSortedRowModel, + useReactTable, +} from "@tanstack/react-table"; +import clsx from "clsx"; + +declare module "@tanstack/react-table" { + // eslint-disable-next-line + interface ColumnMeta { + className?: string; + } +} + +/** + * https://stackoverflow.com/questions/68274805/typescript-reference-type-of-property-by-other-property-of-same-object + * https://github.com/vuejs/core/discussions/8851 + */ +type _Column = { + [Key in keyof Datum]: Column; +}[keyof Datum]; + +type Column< + Datum extends object = object, + Key extends keyof Datum = keyof Datum, +> = { + /** key of row object to access as cell value */ + key: Key; + /** label for header */ + name?: ReactNode; + /** is sortable (default true) */ + sortable?: boolean; + /** class on cells */ + className?: string; + /** custom render function for cell */ + render?: (cell: Datum[Key], row: Datum) => ReactNode; +}; + +/** helper to define both rows and columns on table in type-safe way */ +export const defineData = ( + rows: Datum[], + columnFunc: ( + column: ( + column: Column, + ) => Column, + ) => _Column[], +) => { + const helper = createColumnHelper(); + + const columns = columnFunc( + (column: Column) => column, + ).map((column, index) => + helper.accessor((row) => row[column.key], { + id: String(index), + header: () => column.name, + enableSorting: column.sortable ?? true, + enableColumnFilter: true, + enableGlobalFilter: true, + meta: { + className: column.className, + }, + /** render func for cell */ + cell: ({ cell, row }) => + column.render + ? column.render(cell.getValue() as ValueOf, row.original) + : cell.getValue(), + }), + ); + + return { rows, columns }; +}; + +type Props = { + columns: ColumnDef[]; + rows: Datum[]; + sort?: SortingState; + pageControls?: boolean; + actionControls?: boolean; + itemNames?: string; + className?: string; +}; + +/** options for per-page select */ +const perPageOptions = [ + { value: "5", label: "5" }, + { value: "10", label: "10" }, + { value: "25", label: "25" }, + { value: "50", label: "50" }, + { value: "100", label: "100" }, + { value: "9999", label: "All" }, +]; + +/** per-page option selected at start */ +const defaultPerPage = perPageOptions.at(-1)!; + +/** table component with sorting, filtering, and more */ +export default function Table({ + columns, + rows, + sort, + pageControls = true, + actionControls = true, + itemNames = "rows", + className, +}: Props) { + /** current per-page selection */ + const [perPage] = useState(defaultPerPage.value); + + /** tanstack table api */ + // eslint-disable-next-line + const table = useReactTable({ + data: rows, + columns, + getCoreRowModel: getCoreRowModel(), + getFilteredRowModel: getFilteredRowModel(), + getPaginationRowModel: getPaginationRowModel(), + getSortedRowModel: getSortedRowModel(), + getFacetedRowModel: getFacetedRowModel(), + getFacetedUniqueValues: getFacetedUniqueValues(), + getFacetedMinMaxValues: getFacetedMinMaxValues(), + getColumnCanGlobalFilter: () => true, + autoResetPageIndex: true, + columnResizeMode: "onChange", + initialState: { + sorting: sort, + pagination: { + pageIndex: 0, + pageSize: Number(perPage), + }, + }, + }); + + return ( +
+ {/* controls */} + {(pageControls || actionControls) && ( +
+ {pageControls && ( + <> + {/* per page */} + -
- -
- - {/* row count */} -
- {filteredLoci.length.toLocaleString()} loci - -
-
- - {/* table */} - - - ); -}; - -export default LociTable; diff --git a/site/src/loci/LociTable.module.css b/site/src/loci/LociTable.module.css deleted file mode 100644 index 21dacc86..00000000 --- a/site/src/loci/LociTable.module.css +++ /dev/null @@ -1,38 +0,0 @@ -.table { - width: 100%; -} - -.filters { - width: 100%; -} - -.spacer { - flex-grow: 1; -} - -.tags-cell { - gap: 10px; -} - -.search { - width: 120px !important; -} - -.motif-length { - display: flex; - align-items: center; - gap: 5px; -} - -.motif { - display: flex; - flex-wrap: wrap; - gap: 5px; -} - -.motif-chars { - max-width: 80px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/site/src/loci/LociTable.tsx b/site/src/loci/LociTable.tsx new file mode 100644 index 00000000..e26b01c9 --- /dev/null +++ b/site/src/loci/LociTable.tsx @@ -0,0 +1,327 @@ +import { useEffect, useState } from "react"; +import Button from "@/components/Button"; +import CheckBox from "@/components/CheckBox"; +import Link from "@/components/Link"; +import NumberBox from "@/components/NumberBox"; +import Popover from "@/components/Popover"; +import Select from "@/components/Select"; +import Table, { defineData } from "@/components/Table"; +import Tag from "@/components/Tag"; +import TextBox from "@/components/TextBox"; +import { loci } from "@/data"; +import { tagOptions } from "@/data/tags"; +import { getValues } from "@/util/object"; +import { IconArrowRight, IconCheck, IconX } from "@tabler/icons-react"; +import { countBy, map, max, min, pick, uniq } from "lodash-es"; + +/** tags to show in table and filters */ +const filterTags = tagOptions.filter((tag) => tag.filter); + +/** normalize string for search comparison */ +const normalize = (string: string) => + string + .toLowerCase() + .replaceAll(/[^A-Za-z0-9]/g, " ") + .replaceAll(/\s+/g, " ") + .trim(); + +/** table for main loci page */ +export default function LociTable() { + /** find shortest/longest motif lengths */ + const motifLengths = loci + .map( + (locus) => + locus?.pathogenic_motif_reference_orientation.map( + (motif) => motif.length, + ) || 0, + ) + .flat(); + const shortestMotif = min(motifLengths) ?? 0; + const longestMotif = max(motifLengths) ?? Infinity; + + /** options for inheritance filter */ + const inheritanceOptions = [{ value: "all", label: "All" }].concat( + uniq(map(loci, "inheritance").flat()).map((inheritance) => ({ + value: inheritance, + label: inheritance, + })), + ); + + /** selected tag filters */ + const [tags, setTags] = useState(Array(filterTags.length).fill("mixed")); + /** motif filter state */ + const [motifMin, setMotifMin] = useState(shortestMotif); + const [motifMax, setMotifMax] = useState(longestMotif); + /** inheritance filter state */ + const [inheritance, setInheritance] = useState("all"); + /** search filter state */ + const [search, setSearch] = useState(""); + + useEffect(() => { + /** tag from url param */ + const tag = new URL(window.location.href).searchParams.get("tag") ?? ""; + + if (!tag) return; + + /** set states. don't do as default useState values due to window obj and url param being blank on first SSR. */ + + /** if url tag not one of important tags (checkboxes), search for tag */ + // eslint-disable-next-line + if (!map(filterTags, "value").includes(tag)) setSearch(normalize(tag)); + else + /** set checkboxes */ + setTags( + map(filterTags, "value").map((value) => + value === tag ? true : "mixed", + ), + ); + }, []); + + const normalizedSearch = normalize(search); + + /** access locus key as string[] */ + const includes = (locus: object, key: string, value: string) => + ( + [locus[key as keyof typeof locus]].flat().filter(Boolean) as string[] + ).includes(value); + + const filteredLoci = loci + .map((locus) => ({ + ...locus, + /** for sorting */ + tag_sort: (["evidence", "locus_tags", "disease_tags"] as const).map( + (key) => + filterTags.findIndex(({ value }) => includes(locus, key, value)), + ), + })) + .filter( + (locus) => + /** filter by free text search visible columns */ + normalize( + getValues( + pick(locus, [ + "gene", + "disease_id", + "disease", + "position_base0_hg38", + "pathogenic_motif_reference_orientation", + "inheritance", + "locus_tags", + "disease_tags", + "evidence", + ]), + ).join(" "), + ).includes(normalizedSearch) && + /** filter by tags */ + filterTags.every(({ key, value }, index) => { + const filter = tags[index]; + if (filter === undefined) return; + /** if "mixed", keep locus whether it includes tag or not */ + if (filter === "mixed") return true; + /** if true, keep locus if includes tag. if false, keep if doesn't. */ else + return includes(locus, key, value) === filter; + }) && + /** filter by motif lengths */ + locus.pathogenic_motif_reference_orientation.every( + (motif) => + motif.length >= (motifMin ?? NaN) && + motif.length <= (motifMax ?? NaN), + ) && + /** filter by inheritance type */ + (inheritance === "all" || + [locus.inheritance].flat().includes(inheritance)), + ); + + /** selected tags label */ + let selected = <>; + const counts = countBy(tags); + if (counts.mixed === tags.length) selected = <>Any; + else + selected = ( + <> + {counts.true && ( + <> + {counts.true} + + + )} + {counts.false && ( + <> + {counts.false} + + + )} + + ); + + return ( + <> +
+ {/* filters */} +
+ + Filters + + {filteredLoci.length === loci.length + ? "all" + : filteredLoci.length.toLocaleString()}{" "} + results + + + +
+
+ } + > + + + + + + +
+ Motif length + setMotifMin(value ?? shortestMotif)} + min={shortestMotif} + max={Math.min(longestMotif, motifMax)} + snapValues={motifLengths} + aria-label="Motif length min" + /> + – + setMotifMax(value ?? longestMotif)} + min={Math.max(shortestMotif, motifMin)} + max={longestMotif} + snapValues={motifLengths} + aria-label="Motif length max" + /> +
+ +
[ + column({ + key: "id", + render: (cell) => ( + + + + ), + sortable: false, + }), + column({ + /** use number value so column sorted by that instead of alphabetically */ + key: "tag_sort", + name: "Tags", + className: "gap-1", + render: (cell, row) => + tagOptions + .filter( + ({ key, value, filter }) => + filter && includes(row, key, value), + ) + .map(({ value }, index) => ( + + )), + }), + column({ + key: "gene", + name: "Gene", + }), + column({ + key: "disease_id", + name: "Disease", + }), + column({ + key: "disease", + name: "Description", + className: "justify-start text-left", + }), + column({ + key: "position_base0_hg38", + name: "Position hg38", + render: (cell, row) => ( + + {cell} + + ), + }), + column({ + key: "pathogenic_motif_reference_orientation", + name: "Motif (len)", + render: (cell) => ( +
+ {cell.join(", ")} + } + button={false} + > + {cell.join(", ")} + +
+ ( + {cell + .map((motif) => motif.length.toLocaleString()) + .join(", ")} + ) +
+
+ ), + }), + column({ + key: "inheritance", + name: "Inheritance", + render: (cell) => cell?.join("/"), + }), + ])} + /> + + ); +} diff --git a/site/src/locus/AdditionalLiterature.jsx b/site/src/locus/AdditionalLiterature.jsx deleted file mode 100644 index 3ce873e8..00000000 --- a/site/src/locus/AdditionalLiterature.jsx +++ /dev/null @@ -1,13 +0,0 @@ -import ShowMoreItems from "@/components/ShowMoreItems"; -import Citation from "./Citation"; - -/** additional literature section */ -const AdditionalLiterature = ({ additionalLiterature }) => ( - ( - - ))} - /> -); - -export default AdditionalLiterature; diff --git a/site/src/locus/AdditionalLiterature.tsx b/site/src/locus/AdditionalLiterature.tsx new file mode 100644 index 00000000..a197204e --- /dev/null +++ b/site/src/locus/AdditionalLiterature.tsx @@ -0,0 +1,18 @@ +import type { Citation as CitationType } from "@/data"; +import ShowMoreItems from "@/components/ShowMoreItems"; +import Citation from "./Citation"; + +type Props = { + additionalLiterature: CitationType[]; +}; + +/** additional literature section */ +export default function AdditionalLiterature({ additionalLiterature }: Props) { + return ( + ( + + ))} + /> + ); +} diff --git a/site/src/locus/Citation.module.css b/site/src/locus/Citation.module.css deleted file mode 100644 index 5d9fabcb..00000000 --- a/site/src/locus/Citation.module.css +++ /dev/null @@ -1,21 +0,0 @@ -.citation { - position: relative; - align-items: flex-start; - padding: 10px 20px; - gap: 5px; - text-align: left; -} - -.citation:has(.number) { - padding-left: 45px; -} - -.number { - position: absolute; - top: 10px; - left: 10px; - width: 25px; - height: 25px; - border-radius: 999px; - background: color-mix(in srgb, var(--primary), var(--white) 75%); -} diff --git a/site/src/locus/Citation.jsx b/site/src/locus/Citation.tsx similarity index 56% rename from site/src/locus/Citation.jsx rename to site/src/locus/Citation.tsx index 26ab4918..88a1646c 100644 --- a/site/src/locus/Citation.jsx +++ b/site/src/locus/Citation.tsx @@ -1,14 +1,27 @@ -import clsx from "clsx"; +import type { Citation } from "@/data"; import Link from "@/components/Link"; import ShowMoreLines from "@/components/ShowMoreLines"; -import classes from "./Citation.module.css"; + +type Props = Citation & { number?: number }; /** full citation details for a source */ -const Citation = ({ number, id, title, authors, publisher, date, link }) => { +export default function Citation({ + number, + id, + title, + authors, + publisher, + date, + link, +}: Props) { const details = [publisher, date].filter(Boolean); return ( -
- {number &&
{number}
} +
+ {number && ( + + {number} + + )} {title && {title}} {!!authors?.length && ( {authors?.join(", ")} @@ -19,6 +32,4 @@ const Citation = ({ number, id, title, authors, publisher, date, link }) => { )}
); -}; - -export default Citation; +} diff --git a/site/src/locus/Cited.jsx b/site/src/locus/Cited.jsx deleted file mode 100644 index 921877d7..00000000 --- a/site/src/locus/Cited.jsx +++ /dev/null @@ -1,40 +0,0 @@ -import { Fragment } from "react"; -import Link from "@/components/Link"; - -/** render field value that has in-text references */ -const Cited = ({ value }) => { - return value.map(({ text, references }, index) => - text ? ( - /** plain text */ - {text} - ) : ( - - {references.map( - ({ text, id, number, title, authors, publisher }, index) => ( - - {text ? ( - /** plain text fallback */ - ? - ) : ( - /** link to citation id below */ - event.stopPropagation()} - data-tooltip={[title, authors?.join(", "), publisher] - .filter(Boolean) - .map((line) => `
${line}
`) - .join("")} - > - {number} - - )} - {index < references.length - 1 && ","} -
- ), - )}{" "} -
- ), - ); -}; - -export default Cited; diff --git a/site/src/locus/Cited.tsx b/site/src/locus/Cited.tsx new file mode 100644 index 00000000..024e92b6 --- /dev/null +++ b/site/src/locus/Cited.tsx @@ -0,0 +1,48 @@ +import type { Citation } from "@/data"; +import { Fragment } from "react"; +import Link from "@/components/Link"; +import Popover from "@/components/Popover"; + +type Props = { + value?: + | { + text: string; + references: (Citation & { number: number })[]; + }[] + | null; +}; + +/** render field value that has in-text references */ +export default function Cited({ value }: Props) { + if (!value) return "–"; + return value.map(({ text, references }, index) => + text ? ( + /** plain text */ + + ) : ( + + {references.map(({ id, number, title, authors, publisher }, index) => ( + + {/* link to citation id below */} + + {title &&
{title}
} + {authors && ( +
{authors.join(" ")}
+ )} + {publisher &&
{publisher}
} + {id} + + } + button={false} + > + {number} +
+ {index < references.length - 1 && ","} +
+ ))}{" "} +
+ ), + ); +} diff --git a/site/src/locus/EditForm.jsx b/site/src/locus/EditForm.tsx similarity index 70% rename from site/src/locus/EditForm.jsx rename to site/src/locus/EditForm.tsx index 10184fcd..b4eaaef3 100644 --- a/site/src/locus/EditForm.jsx +++ b/site/src/locus/EditForm.tsx @@ -1,24 +1,24 @@ +import type { ReactNode } from "react"; import { useMemo } from "react"; -import { FaXmark } from "react-icons/fa6"; -import { LuFeather, LuSend } from "react-icons/lu"; -import { cloneDeep, isEqual, omitBy, startCase } from "lodash-es"; -import { useLocalStorage } from "@reactuses/core"; import { createPR } from "@/api/pr"; import Alert from "@/components/Alert"; import Button from "@/components/Button"; import { contactSchema } from "@/components/ContactForm"; import Form from "@/components/Form"; -import Heading from "@/components/Heading"; +import { H1 } from "@/components/Heading"; import Link from "@/components/Link"; import SchemaForm from "@/components/SchemaForm"; import { repo } from "@/layouts/meta"; import { useQuery } from "@/util/hooks"; import { shortenUrl } from "@/util/string"; +import { useLocalStorage } from "@reactuses/core"; +import { IconEdit, IconSend, IconX } from "@tabler/icons-react"; +import { cloneDeep, isEqual, omitBy, startCase } from "lodash-es"; import loci from "~/STRchive-loci.json"; -import schema from "~/STRchive-loci.schema.json"; +import _schema from "~/STRchive-loci.schema.json"; /** add extra fields for edit metadata */ -schema.properties = { +const extraProperties = { "edit-name": { section: "Edit", ...contactSchema.name, @@ -58,32 +58,55 @@ schema.properties = { type: "string", default: null, }, - ...schema.properties, +} as const; + +/** extra required fields */ +const extraRequired = ["edit-title", "edit-description"] as const; + +/** add extras */ +const schema = { + ...cloneDeep(_schema), + properties: { ...extraProperties, ...cloneDeep(_schema.properties) }, + required: [...cloneDeep(_schema.required), ...extraRequired], }; -schema.required.push("edit-title", "edit-description"); +type Extras = Partial>; + +type Locus = (typeof loci)[number]; + +type Props = { + heading?: ReactNode; + locus?: Locus; +}; /** new/edit locus form */ -const EditForm = ({ heading, locus }) => { +export default function EditForm({ heading, locus }: Props) { /** confirm with user before leaving page */ // window.onbeforeunload = () => ""; /** unique storage key for this page and form */ const storageKey = `edit-locus-${locus?.id ?? "new"}`; + /** initial form data */ + const initialData = useMemo( + () => + ({ + "edit-title": null, + "edit-description": null, + ...cloneDeep(locus), + }) as Extras & Locus, + [locus], + ); + /** form data state */ - let [data, setData] = useLocalStorage(storageKey, { - ["edit-title"]: null, - ["edit-description"]: null, - ...cloneDeep(locus), - }); + const [data, setData] = useLocalStorage(storageKey, initialData); /** was data loaded from storage */ const storageExists = useMemo(() => { const fromStorage = window.localStorage.getItem(storageKey); /** if saved draft exists and is different from initial data */ - return fromStorage && !isEqual(JSON.parse(fromStorage), data); - }, []); + return fromStorage && !isEqual(JSON.parse(fromStorage), initialData); + }, [storageKey, initialData]); /** submission query */ const { @@ -92,10 +115,10 @@ const EditForm = ({ heading, locus }) => { status, } = useQuery(async () => { /** pr body */ - const name = data["edit-name"]; - const username = data["edit-username"]; - const email = data["edit-email"]; - const description = data["edit-description"]; + const name = data?.["edit-name"]; + const username = data?.["edit-username"]; + const email = data?.["edit-email"]; + const description = data?.["edit-description"]; const body = [{ name, username, email }, { description }] .map((group) => Object.entries(group) @@ -109,27 +132,29 @@ const EditForm = ({ heading, locus }) => { .join("\n\n"); /** branch name from locus id */ - const branch = data.id; + const branch = data?.id; /** pr title */ - const title = data["edit-title"]; + const title = data?.["edit-title"]; /** remove edit metadata */ - data = omitBy(cloneDeep(data), (value, key) => key.startsWith("edit-")); + const newLocus = omitBy(cloneDeep(data), (value, key) => + key.startsWith("edit-"), + ) as Locus; /** make complete new clone of loci */ - let newLoci = cloneDeep(loci); + const newLoci = cloneDeep(loci); /** look for existing locus */ - const index = newLoci.findIndex((locus) => locus.id === data.id); + const index = newLoci.findIndex((locus) => locus.id === data?.id); /** is new locus vs existing locus */ const existing = index !== -1; /** merge new locus data with existing data */ - if (existing) newLoci[index] = data; + if (existing) newLoci[index] = newLocus; /** append new locus to end (will be sorted appropriately later) */ else - newLoci.push(data); + newLoci.push(newLocus); /** pr files to change */ const files = [ @@ -139,6 +164,9 @@ const EditForm = ({ heading, locus }) => { }, ]; + if (!branch) throw Error("branch name missing"); + if (!title) throw Error("title missing"); + return await createPR({ owner: "dashnowlab", repo: "STRchive", @@ -153,10 +181,10 @@ const EditForm = ({ heading, locus }) => { return (
- - +

+ {heading} - +

Every suggestion is reviewed by our team before inclusion in STRchive. @@ -164,7 +192,7 @@ const EditForm = ({ heading, locus }) => { {storageExists && ( -
+
Loaded saved draft
)} @@ -193,7 +221,6 @@ const EditForm = ({ heading, locus }) => { "IDs", "References", ]} - onSubmit={(data) => submit(data)} />
@@ -211,13 +238,16 @@ const EditForm = ({ heading, locus }) => { )} -
); -}; - -export default EditForm; +} diff --git a/site/src/locus/Gnomad.jsx b/site/src/locus/Gnomad.jsx deleted file mode 100644 index ba343936..00000000 --- a/site/src/locus/Gnomad.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import { useState } from "react"; -import { startCase } from "lodash-es"; -import RangeChart from "@/components/RangeChart"; -import Select from "@/components/Select"; - -/** charts for gnomad data */ -const Gnomad = ({ title, data = {} }) => { - /** sex options */ - const sexes = [ - { value: "both", label: "Both" }, - { value: "XX", label: "XX" }, - { value: "XY", label: "XY" }, - ].filter(({ value }) => value in data); - - /** selected sex */ - const [sex, setSex] = useState(sexes[0].value); - - if (!sexes.length) return <>; - - /** datum object */ - const d = data[sex]; - - return ( - <> - {/* sex dropdown */} - {!(sexes.length === 1 && sexes[0].value === "both") && ( - + )} + + 1 ? `${title} (${sex.replace("_", " ")})` : title} + xLabel="Pathogenic Genotype (%)" + yLabels={labels} + values={values} + lowerBounds={confidence_lower_bounds} + upperBounds={confidence_upper_bounds} + tooltip={(index) => { + const label = labels[index]; + const count = counts[index]; + const value = values[index]; + const lower = confidence_lower_bounds[index]; + const upper = confidence_upper_bounds[index]; + return ` +

+ ${label} +

+

+ Value: +
+ ${value.toFixed(2)}% +

+

+ 95% Confidence Interval: +
+ ${lower.toFixed(2)}% – ${upper.toFixed(2)}% +

+

+ Count: +
+ ${count.toLocaleString()} +

+ `; + }} + /> + +

+ Pathogenic Genotype (%): % of individuals predicted to be affected based + on their genotype +

+ + ); +} diff --git a/site/src/pages/404.astro b/site/src/pages/404.astro index 2dc54a71..fe071b6e 100644 --- a/site/src/pages/404.astro +++ b/site/src/pages/404.astro @@ -1,25 +1,21 @@ --- -import Layout from "@/layouts/Layout.astro"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; +import { H1 } from "@/components/Heading"; +import Layout from "@/layouts/Layout.astro"; ---
- Page Not Found +

Page Not Found

The content you're looking for does not exist or has been moved. Check that the URL in your address bar is correct.

-
- - +
+ +
diff --git a/site/src/pages/_resources.module.css b/site/src/pages/_resources.module.css deleted file mode 100644 index 105c5e31..00000000 --- a/site/src/pages/_resources.module.css +++ /dev/null @@ -1,11 +0,0 @@ -.grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); - width: 100%; - gap: 40px; - text-align: left; -} - -.grid > * { - align-items: flex-start; -} diff --git a/site/src/pages/about.astro b/site/src/pages/about.astro index 95206cea..77726d75 100755 --- a/site/src/pages/about.astro +++ b/site/src/pages/about.astro @@ -1,32 +1,32 @@ --- -import Layout from "@/layouts/Layout.astro"; -import { FaGithub } from "react-icons/fa6"; -import { - LuBadgeInfo, - LuBookMarked, - LuHandHeart, - LuMail, - LuUsers, -} from "react-icons/lu"; -import { kebabCase } from "lodash-es"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; +import { H1, H2 } from "@/components/Heading"; import Link from "@/components/Link"; import TableOfContents from "@/components/TableOfContents"; import { team } from "@/data/team"; +import Layout from "@/layouts/Layout.astro"; import { repo } from "@/layouts/meta"; +import { + IconBookmark, + IconBrandGithub, + IconHeartHandshake, + IconInfoCircle, + IconMail, + IconUsers, +} from "@tabler/icons-react"; +import { kebabCase } from "lodash-es"; ---
- About +

About

- Contact +

Contact

-

+

To get in touch about STRchive, use the contact buttons on any page, found in the

- Cite +

Cite

Hiatt, L., Weisburd, B., Dolzhenko, E., Rubinetti, V., Avvaru, A.K., VanNoy, G.E., Kurtas, N.E., Rehm, H.L., Quinlan, A. and Dashnow, H., 2025. -
- + + STRchive: a dynamic resource detailing population-level and locus-specific insights at tandem repeat disease loci. -
+
Genome Med doi: https://doi.org/10.1101/2024.05.21.24307682
- Contribute +

Contribute

STRchive welcomes community contributions. An accurate and up to date @@ -80,52 +82,35 @@ import { repo } from "@/layouts/meta"; on GitHub:

-
-
- Team +

Team

-
+
{ team.map((member) => ( - - - {member.name} - {member.role} - {member.affiliation} + + + {member.name} + {member.role} + {member.affiliation} )) }
- - diff --git a/site/src/pages/critria/[id].astro b/site/src/pages/critria/[id].astro index c165da98..1738f63c 100644 --- a/site/src/pages/critria/[id].astro +++ b/site/src/pages/critria/[id].astro @@ -1,14 +1,31 @@ --- -import Layout from "@/layouts/Layout.astro"; -import { LuArrowLeft, LuBookMarked } from "react-icons/lu"; -import { micromark } from "micromark"; +import Alert from "@/components/Alert"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; +import { H1, H2 } from "@/components/Heading"; import TableOfContents from "@/components/TableOfContents"; import Tag from "@/components/Tag"; import EvidenceTable from "@/critria/EvidenceTable"; -import { parse } from "@/util/markdown"; -import curations from "~/criTRia-curations.json"; +import { curations } from "@/data"; +import Layout from "@/layouts/Layout.astro"; +import Citation from "@/locus/Citation"; +import Cited from "@/locus/Cited"; +import { + IconArrowLeft, + IconArrowRight, + IconAward, + IconBookmark, + IconBooks, + IconCalendarDue, + IconChecks, + IconDna2, + IconFileText, + IconHistory, + IconSitemap, + IconTimelineEventText, + IconUserCheck, + IconVirus, +} from "@tabler/icons-react"; +import clsx from "clsx"; /** generate pages for each datum, paths based on id */ export const getStaticPaths = async () => @@ -20,107 +37,203 @@ const { id } = Astro.params; /** look up full curation entry from id */ const curation = curations.find((item) => item.Locus_ID === id); -if (!curation) throw new Error(`No criTRia curation found for locus: ${id}`); +if (!curation) throw Error(`no curation found for locus ${id}`); + +/** nice title */ +const title = `Curation ${curation.Locus_ID.replaceAll("_", " ")}`; --- - + +
- {curation.Locus_ID} - -
-
Gene
-
{curation.Gene}
-
Disease
-
{curation.Disease_ID}
-
Inheritance
-
{curation.Inheritance}
-
Classification
-
- -
-
Total Score
-
{curation.total_score}
-
Publications Reviewed
-
{curation.publication_count}
-
Publication Span
-
+

{title}

+ +
+
+ Gene + {curation.Gene} +
+
+ Disease + {curation.Disease_ID} +
+
+ Inheritance + {curation.Inheritance ?? "–"} +
+
+ Score +

+ {curation.supercategory_summary?.["Genetic Evidence"] ?? "-"} +{" "} + {curation.supercategory_summary?.["Experimental Evidence"] ?? 0} ={ + " " + } + {curation.total_score} / 18 +
+

Genetic + experimental = total
+

+
+
+ Classification +
+ + +
+
+
0
+
+ + + + { + [ + "bg-worst", + "bg-bad", + "bg-warn", + "bg-okay", + "bg-good", + "bg-best", + ].map((className) =>
) + } +
+
18
+
+
+
Refuted
+
Moderate
+
Definitive
+
+
+
+
+
+ Last Updated + {curation.Date} +
+
+ Pubs Reviewed + {curation.publication_count ?? "–"} +
+
+ Publication Span { - curation.publication_interval_years != null && - curation.publication_interval_years !== "" + curation.publication_interval_years != null ? `${curation.publication_interval_years} years` - : "" + : "–" } -
-
Last Updated
-
{curation.Date}
-
Curator(s)
-
{curation.Curator}
-
+
+
+ Publication Interval + { + curation.publication_interval_years != null + ? `${curation.publication_interval_years} years` + : "–" + } +
- { - curation.Description && ( - <> - - Description - - -

- - ) - } +

+ Curator(s) + {curation.Curator} +
+
+ Description +

+ +

+
+
+ +
+ -
-
+
- Genetic evidence -

+

Genetic evidence

+

Total: - {curation.supercategory_summary?.["Genetic Evidence"] ?? "-"} + {curation.supercategory_summary?.["Genetic Evidence"] ?? 0}

{ curation.genetic_evidence_details?.length ? ( ) : ( -

No genetic evidence details available.

+

+ No genetic evidence details available. +

) }
+
- Experimental evidence -

+

Experimental evidence

+

Total: - {curation.supercategory_summary?.["Experimental Evidence"] ?? "-"} + {curation.supercategory_summary?.["Experimental Evidence"] ?? 0}

{ curation.experimental_evidence_details?.length ? ( ) : ( -

No experimental evidence details available.

+

+ No experimental evidence details available. +

) }
+ + { + !!curation.references.length && ( +
+

References

+ +

+ Direct supporting references for info on this page. +

+ +
+ {curation.references.map((citation) => ( + + ))} +
+
+ ) + } + +
-

- Note: Maximum score caps apply at evidence type, category, and - supercategory levels, so section totals may be lower than the raw sum of - row scores. -

+ + Maximum score caps apply at evidence type, category, and supercategory + levels, so section totals may be lower than the raw sum of row scores. +
diff --git a/site/src/pages/critria/index.astro b/site/src/pages/critria/index.astro index b6864645..1ec4e440 100755 --- a/site/src/pages/critria/index.astro +++ b/site/src/pages/critria/index.astro @@ -1,21 +1,26 @@ --- -import Layout from "@/layouts/Layout.astro"; -import { LuBadgeInfo, LuBookMarked, LuDownload } from "react-icons/lu"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; +import { H1, H2 } from "@/components/Heading"; import Link from "@/components/Link"; import TableOfContents from "@/components/TableOfContents"; import CurationTable from "@/critria/CurationTable"; -import curations from "~/criTRia-curations.json"; +import LegendTable from "@/critria/LegendTable"; +import Layout from "@/layouts/Layout.astro"; +import { + IconBookmark, + IconChecks, + IconFileTypePdf, + IconInfoCircle, +} from "@tabler/icons-react"; import sop from "~/criTRia-SOP.pdf?url"; ---
- criTRia +

criTRia

-

+

A framework for evaluating the strength of evidence supporting a locus-disease relationship, based on a standardized set of criteria. criTRia is currently in active development and the curations @@ -25,20 +30,24 @@ import sop from "~/criTRia-SOP.pdf?url"; Gene-Disease Validity classifications.

-

+

Learn more about the criTRia locus-disease curation framework:

-
- - Locus-disease curations - +

Classifications

+ + +
+ +
+

Locus-disease curations

- +
diff --git a/site/src/pages/index.astro b/site/src/pages/index.astro index 0c33deb2..4c33eff8 100755 --- a/site/src/pages/index.astro +++ b/site/src/pages/index.astro @@ -1,77 +1,45 @@ --- -import Layout from "@/layouts/Layout.astro"; -import { FaNewspaper } from "react-icons/fa6"; -import { LiaBarcodeSolid } from "react-icons/lia"; import Logo from "@/assets/logo.svg?react"; import Button from "@/components/Button"; +import Layout from "@/layouts/Layout.astro"; +import { IconNews, IconTallymark4 } from "@tabler/icons-react"; --- -
-
- -
- short tandem repeat archive +
+
+ +
+ "ess-tee archive", short tandem repeat archive
-

+

An archive of STRs associated with human diseases

-
- -
-
+

Short Tandem Repeats (STRs) are a type of genetic variation that are associated with many rare diseases. Information about pathogenic STRs is often out-of-date and scattered across different databases, making it difficult to find and interpret STR variants. - STRchive ("ess tee archive") aims to solve this problem by - providing a central community resource. + STRchive aims to solve this problem by providing a central + community resource.

- - diff --git a/site/src/pages/loci/[id].astro b/site/src/pages/loci/[id].astro index c649a55a..e76da4e6 100644 --- a/site/src/pages/loci/[id].astro +++ b/site/src/pages/loci/[id].astro @@ -1,31 +1,48 @@ --- /** LOCUS PAGE */ -import Layout from "@/layouts/Layout.astro"; -import { FaCircleMinus, FaCirclePlus, FaRegCalendar } from "react-icons/fa6"; -import { LiaBarcodeSolid, LiaSlashSolid } from "react-icons/lia"; -import { LuFeather } from "react-icons/lu"; -import { TbDna2, TbVirus } from "react-icons/tb"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; +import { H1, H2 } from "@/components/Heading"; +import Help from "@/components/Help"; import LineChart from "@/components/LineChart"; import Link from "@/components/Link"; +import Popover from "@/components/Popover"; import ShowMoreLines from "@/components/ShowMoreLines"; import TableOfContents from "@/components/TableOfContents"; import Tag from "@/components/Tag"; -import { deriveLocus } from "@/data/derived"; +import { curations, loci } from "@/data"; import { getIdentifiers } from "@/data/identifiers"; import { getInheritance } from "@/data/inheritance"; +import Layout from "@/layouts/Layout.astro"; import { repo } from "@/layouts/meta"; import AdditionalLiterature from "@/locus/AdditionalLiterature"; import Citation from "@/locus/Citation"; import Cited from "@/locus/Cited"; import Gnomad from "@/locus/Gnomad"; import { getJsonBlame } from "@/util/git"; -import curations from "~/criTRia-curations.json"; +import { + IconCalendar, + IconCalendarDue, + IconChartPie, + IconCirclePlusMinus, + IconCirclesRelation, + IconDna2, + IconEdit, + IconFileText, + IconFocus2, + IconHeartSearch, + IconId, + IconMapPin, + IconRulerMeasure, + IconSignature, + IconSitemap, + IconSlash, + IconTag, + IconTallymark4, + IconTool, + IconVirus, +} from "@tabler/icons-react"; import gnomad from "~/plots/gnomad.json"; -import citations from "~/STRchive-citations.json"; -import loci from "~/STRchive-loci.json"; /** generate pages for each datum, paths based on id */ export const getStaticPaths = async () => @@ -35,11 +52,9 @@ export const getStaticPaths = async () => const { id } = Astro.params; /** look up full locus entry from id */ -const locus = deriveLocus( - loci.find((locus) => locus.id === id) || {}, - loci, - citations, -); +const locus = loci.find((locus) => locus.id === id); + +if (!locus) throw Error(`locus ${id} not found`); /** whether there is raw gene search text file associated with this gene */ const hasRawSearch = Object.keys( @@ -54,458 +69,487 @@ const blame = getJsonBlame( /** get corresponding criTRia curation page */ const curation = curations.find((curation) => curation.Locus_ID === id); + +/** nice title */ +const title = `Locus ${locus.id.replaceAll("_", " ")}`; --- - +
- {locus.nice_id} +

{title}

-
+ +
+ { - !!locus.evidence?.length && - locus.evidence?.map((evidence) => ( - - )) + locus.evidence.map((evidence) => ( + + )) } - { - !!locus.locus_tags?.length && - locus.locus_tags?.map((tag) => ( - - )) + locus.locus_tags.map((tag) => ( + + )) } + {!(locus.evidence.length + locus.locus_tags.length) && "–"}
+
-
Disease ID
+ Disease ID
{locus.disease_id}
+
-
Gene ID
+ Gene ID
{locus.gene}
+
-
Updated
+ Updated
- {blame.date} + {blame.date || "–"}
- v{blame.version} + v{blame.version || "–"}
-
- { - locus.genes.length > 1 && ( -
-
- - Other gene loci ({locus.genes.length.toLocaleString()}) -
-
- {locus.genes.map((gene) => - id === gene.id ? ( - {gene.id} - ) : ( - {gene.id} - ), - )} -
+ +
+ + + Other gene loci + +
+ { + locus.genes + .filter((gene) => gene.id !== id) + .map((gene) => {gene.id}) + } + {locus.genes.length <= 1 && "–"}
- ) - } +
-
+ { getIdentifiers(locus).map(({ name, Icon, identifiers }) => ( -
-
+
+ - {name} -
-
+ {name} + +
{identifiers.map(({ name, links, tooltip, info }) => ( <> - - {name} - -
)) }
-
- Disease - { - !!locus.disease_tags?.length && ( -
- {locus.disease_tags?.map((tag) => ( - - ))} -
- ) - } +

Disease

+ +
+ + { + locus.disease_tags.map((tag) => ( + + )) + } + {!locus.disease_tags.length && "–"} +
+ +
-
Name
-
{locus.disease}
+ Name + {locus.disease}
+
-
Inheritance
+ Inheritance +
+ { + locus.inheritance.map((inheritance) => ( + + {getInheritance(inheritance)} + + )) + } +
+ {!locus.inheritance.length && "–"} +
+ + +
+ Description + + + +
+ + +
+ Prevalence { - (locus.inheritance ?? [""]).map((inheritance) => ( - - {getInheritance(inheritance) || "-"} - - )) + locus.prevalence && ( +
+ {locus.prevalence[0]} + + {locus.prevalence[1]} +
+ ) + } + { + locus.prevalence_details && ( + + + + ) }
-
-
- { - locus.disease_description && ( -
-
Description
+ +
+ Age of Onset + + { + locus.age_onset && ( - + -
- ) - } - - { - (locus.prevalence || locus.prevalence_details) && ( -
-
Prevalence
- {locus.prevalence && ( -
- {locus.prevalence[0]} - - {locus.prevalence[1]} -
- )} - {locus.prevalence_details && ( - - - - )} -
- ) - } -
+ ) + } +
-
- +
+ HPO Terms +
{ - name: "Age of Onset", - color: "var(--primary)", - values: [locus.age_onset_min, locus.age_onset_max], - }, - { - name: "(Typical)", - color: "var(--secondary)", - values: [locus.typ_age_onset_min, locus.typ_age_onset_max], - }, - ]} - min={0} - max={90} - xAxis="Years" - width={200} - height={50} - /> + locus.hpo_terms?.map((term) => ( + + {term} + + )) + } + {!locus.hpo_terms?.length && "–"} +
+
- { - locus.age_onset && ( -
-
Age of Onset Details
- - - -
- ) - } + +
+ Association +
{locus.association_type}
+
- Locus +

Locus

-
+ +
{ - [ - { assembly: "hg19", db: "hg19" }, - { assembly: "hg38", db: "hg38" }, - { assembly: "t2t", db: "hub_3671779_hs1" }, - ].map(({ assembly, db }) => ( + ( + [ + { assembly: "hg19", db: "hg19" }, + { assembly: "hg38", db: "hg38" }, + { assembly: "t2t", db: "hub_3671779_hs1" }, + ] as const + ).map(({ assembly, db }) => (
-
{assembly}
+ + + {assembly} + - {locus[`position_base0_${assembly}`]} + {locus[`position_base0_${assembly}`] || "–"}
)) } -
-
- { - locus.details && ( -
-
Details
- - - -
- ) - } + +
+ Details + + {locus.details && } + {!locus.details && "–"} + +
- { - (locus.mechanism || locus.mechanism_detail) && ( -
-
Mechanism
- {locus.mechanism &&
{locus.mechanism}
} - {locus.mechanism_detail && ( - - - - )} -
- ) - } - { - locus.detection && ( -
-
Detection
- - + +
+ Mechanism + {locus.mechanism &&
{locus.mechanism}
} + { + locus.mechanism_detail && ( + + -
- ) - } + ) + } +
+ + +
+ Detection + {locus.detection &&
{locus.detection}
} +
-
- { - locus.year && ( -
-
Year
-
- -
-
- ) - } +
+ +
+ Year Year first published +
+ {locus.year && } + {!locus.year && "–"} +
+
- { - locus.location_in_gene && ( -
-
Location in Gene
-
{locus.location_in_gene}
-
- ) - } + +
+ Location in Gene +
{locus.location_in_gene || "–"}
+
- { - locus.gene_strand && ( -
-
Gene Strand
-
- {locus.gene_strand === "+" && ( - - )} - {locus.gene_strand === "-" && ( - - )} -
-
- ) - } + +
+ Gene Strand + +
- Alleles +

Alleles

-
- { - !!locus.reference_motif_reference_orientation.length && ( -
-
- Ref. Motif -
-
{locus.reference_motif_reference_orientation.join(", ")}
-
- ) - } +
+ +
+ + Ref. Motif Reference motif, reference orientation + +
{locus.reference_motif_reference_orientation.join(", ")}
+
- { - (!!locus.benign_motif_reference_orientation.length || - !!locus.benign_motif_gene_orientation.length) && ( - <> -
-
- Benign (ref.) -
-
- {locus.benign_motif_reference_orientation.join(", ") || "-"} -
-
-
-
- Benign (gene) -
-
{locus.benign_motif_gene_orientation.join(", ") || "-"}
-
- - ) - } + +
+ Ranges + +
- { - (!!locus.pathogenic_motif_reference_orientation.length || - !!locus.pathogenic_motif_gene_orientation.length) && ( - <> -
-
- Pathogenic (ref.) -
-
- {locus.pathogenic_motif_reference_orientation.join(", ") || "-"} -
-
-
-
- Pathogenic (gene) -
-
- {locus.pathogenic_motif_gene_orientation.join(", ") || "-"} -
-
- - ) - } + +
+ + Benign (ref.) Benign motif, reference orientation + +
+ {locus.benign_motif_reference_orientation.join(", ") || "–"} +
+
+
+ + Benign (gene) Benign motif, gene orientation + +
{locus.benign_motif_gene_orientation.join(", ") || "–"}
+
- { - (!!locus.unknown_motif_reference_orientation.length || - !!locus.unknown_motif_gene_orientation.length) && ( - <> -
-
- Unknown (ref.) -
-
- {locus.unknown_motif_reference_orientation.join(", ") || "-"} -
-
-
-
- Unknown (gene) -
-
- {locus.unknown_motif_gene_orientation.join(", ") || "-"} -
-
- - ) - } + +
+ + Pathogenic (ref.) Pathogenic motif, reference orientation + +
+ {locus.pathogenic_motif_reference_orientation.join(", ") || "–"} +
+
+
+ + Pathogenic (gene) Pathogenic motif, gene orientation + +
+ {locus.pathogenic_motif_gene_orientation.join(", ") || "–"} +
+
- { - (!!locus.interruption_reference_orientation.length || - !!locus.interruption_gene_orientation.length) && ( - <> -
-
- Interruption (ref.) -
-
- {locus.interruption_reference_orientation.join(", ") || "-"} -
-
-
-
- Interruption (gene) -
-
{locus.interruption_gene_orientation.join(", ") || "-"}
-
- - ) - } -
+ +
+ + Unknown (ref.) Unknown motif, reference orientation + +
+ {locus.unknown_motif_reference_orientation.join(", ") || "–"} +
+
+
+ + Unknown (gene) Unknown motif, gene orientation + +
+ {locus.unknown_motif_gene_orientation.join(", ") || "–"} +
+
- + +
+ + Interruption (ref.) Interruption motif, reference orientation + +
+ {locus.interruption_reference_orientation.join(", ") || "–"} +
+
+
+ + Interruption (gene) Interruption motif, gene orientation + +
{locus.interruption_gene_orientation.join(", ") || "–"}
+
+
- + { - gnomad[id] && ( + id in gnomad && (
- - gnomAD - - {gnomad[id].reliable ? ( - +

gnomAD

+ {gnomad[id as keyof typeof gnomad].reliable ? ( + ) : ( -

+

Pathogenic genotype frequency data is not displayed for this locus because a substantial number of large alleles failed manual review @@ -521,15 +565,13 @@ const curation = curations.find((curation) => curation.Locus_ID === id); { !!locus.references.length && (

- - References - +

References

-

+

Direct supporting references for info on this page.

-
+
{locus.references.map((citation) => ( ))} @@ -540,19 +582,19 @@ const curation = curations.find((curation) => curation.Locus_ID === id); { - (!!locus.additional_literature.length || hasRawSearch) && ( + (hasRawSearch || locus.additional_literature) && (
- - Additional Literature - +

Additional Literature

- {!!locus.additional_literature.length && ( -

Additional literature related to this locus.

- )} +

+ Additional literature related to this locus. +

{hasRawSearch && ( -

- +

+ Raw PubMed search results {" "}
@@ -561,14 +603,12 @@ const curation = curations.find((curation) => curation.Locus_ID === id);

)} - {!!locus.additional_literature.length && ( -
- -
- )} +
+ +
) } @@ -577,161 +617,3 @@ const curation = curations.find((curation) => curation.Locus_ID === id); console.debug(locus); - - diff --git a/site/src/pages/loci/[id]/edit.astro b/site/src/pages/loci/[id]/edit.astro index 590fd194..80b63489 100755 --- a/site/src/pages/loci/[id]/edit.astro +++ b/site/src/pages/loci/[id]/edit.astro @@ -1,8 +1,8 @@ --- /** EDIT LOCUS PAGE */ -import Layout from "@/layouts/Layout.astro"; import TableOfContents from "@/components/TableOfContents"; +import Layout from "@/layouts/Layout.astro"; import EditForm from "@/locus/EditForm"; import loci from "~/STRchive-loci.json"; @@ -14,15 +14,16 @@ export const getStaticPaths = async () => const { id } = Astro.params; /** look up full locus entry from id */ -const locus = loci.find((locus) => locus.id === id) || {}; +const locus = loci.find((locus) => locus.id === id); + +if (!locus) throw Error(`locus ${id} not found`); + +/** nice title */ +const title = `Edit Locus ${locus.id.replaceAll("_", " ")}`; --- - + - + diff --git a/site/src/pages/loci/index.astro b/site/src/pages/loci/index.astro index 35d0265a..c36f991b 100755 --- a/site/src/pages/loci/index.astro +++ b/site/src/pages/loci/index.astro @@ -1,184 +1,67 @@ --- /** LOCI PAGE */ -import Layout from "@/layouts/Layout.astro"; -import { FaArrowDown, FaChartLine, FaGithub } from "react-icons/fa6"; -import { LiaBarcodeSolid } from "react-icons/lia"; -import { LuChartCandlestick, LuChartGantt, LuPlus } from "react-icons/lu"; -import { filter, map, uniq } from "lodash-es"; import Button from "@/components/Button"; -import Heading from "@/components/Heading"; -import Link from "@/components/Link"; +import { H1, H2, H3 } from "@/components/Heading"; import PlotlyChart from "@/components/PlotlyChart"; import TableOfContents from "@/components/TableOfContents"; -import { repo, repoRaw, version } from "@/layouts/meta"; +import Layout from "@/layouts/Layout.astro"; +import { repo } from "@/layouts/meta"; +import DownloadTable from "@/loci/DownloadTable"; import LociTable from "@/loci/LociTable"; +import { + IconBrandGithub, + IconChartBar, + IconChartCandle, + IconChartLine, + IconDownload, + IconPlus, + IconTallymark4, +} from "@tabler/icons-react"; import ageOnset from "~/plots/age-onset.json"; import pathSize from "~/plots/path-size.json"; -import loci from "~/STRchive-loci.json"; - -/** import catalog files */ -const catalogs = Object.keys( - import.meta.glob(`~/catalogs/STRchive-disease-loci*.*`, { - query: "?url", - import: "default", - eager: true, - }), -).map((path) => { - /** last part of path */ - path = path.split("/").pop(); - /** filename parts */ - const [prefix, genome, software, ...extensions] = path.split("."); - /** insert version in download filename */ - const filename = path.replace(/(STRchive-disease-loci)/, `$1-v${version}`); - return { - path, - filename, - genome, - software, - extension: ["", ...extensions].join("."), - }; -}); - -/** rows, by software */ -const rows = [ - { - key: "general", - primary: "General", - secondary: - "a general-purpose extended bed file for filtering and annotating loci", - }, - - { - key: "TRGT", - primary: "TRGT", - secondary: "for genotyping full allele sequences in PacBio HiFi reads", - link: "https://github.com/PacificBiosciences/trgt", - }, - { - key: "atarva", - primary: "Atarva", - secondary: "⚠️ for genotyping full allele sequences in long-read data", - link: "https://github.com/SowpatiLab/ATaRVa", - }, - { - key: "longTR", - primary: "LongTR", - secondary: "⚠️ for genotyping full allele sequences in long-read data", - link: "https://github.com/gymrek-lab/LongTR", - }, - { - key: "straglr", - primary: "Straglr", - secondary: "⚠️ for genotyping allele sizes in long read-data", - link: "https://github.com/bcgsc/straglr", - }, - { - key: "stranger", - primary: "Stranger", - secondary: - "⚠️ for annotating TRGT or ExpansionHunter allele sizes with pathologic implications.", - link: "https://github.com/Clinical-Genomics/stranger", - }, -]; - -/** columns, by genome */ -const cols = uniq(map(catalogs, "genome")); ---
- Loci +

Loci

-
- Tandem repeat loci associated with Mendelian diseases. +
+ Tandem repeat loci associated with Mendelian diseases. -
- + -
- Downloads +

Downloads

-
-
- - - - {cols.map((col) => )} - - - - - { - rows.map((row) => ( - - - {cols.map((col) => ( - - ))} - - )) - } - -
{col}
- {row.link ? ( - - {row.primary} - - ) : ( -
- {row.primary} -
- )} - -
{row.secondary}
-
-
- {filter( - catalogs, - (catalog) => - catalog.software == row.key && catalog.genome === col, - ).map((download) => ( - - ))} -
-
-
+

⚠️ Still under development, use with caution

-
- Plots +
+

Plots

-

High-level, visual overview of loci.

+

High-level, visual overview of loci.

-
-
- Pathogenic Size Range +
+
+

Pathogenic Size Range

-
- Age of Onset +
+

Age of Onset

- - diff --git a/site/src/pages/loci/new/index.astro b/site/src/pages/loci/new/index.astro index bc8a58d4..6e0954e1 100755 --- a/site/src/pages/loci/new/index.astro +++ b/site/src/pages/loci/new/index.astro @@ -1,8 +1,8 @@ --- /** NEW LOCUS PAGE */ -import Layout from "@/layouts/Layout.astro"; import TableOfContents from "@/components/TableOfContents"; +import Layout from "@/layouts/Layout.astro"; import EditForm from "@/locus/EditForm"; --- diff --git a/site/src/pages/resources.astro b/site/src/pages/resources.astro new file mode 100644 index 00000000..9498ac69 --- /dev/null +++ b/site/src/pages/resources.astro @@ -0,0 +1,273 @@ +--- +import Button from "@/components/Button"; +import { H1, H2, H3, H4 } from "@/components/Heading"; +import Link from "@/components/Link"; +import Layout from "@/layouts/Layout.astro"; +import { IconGeometry } from "@tabler/icons-react"; +--- + + +
+

Resources

+
+ +
+
+
+

Computational Methods

+ +

+ A selection of computational methods that we have either developed or + used in our research. For a more comprehensive review of methods, see + + Tanudisastro et al. (2024) + . +

+
+ +
+

Short-read genotyping

+ +
    +
  • + ExpansionHunter +
  • +
  • HipSTR
  • +
  • gangSTR
  • +
+
+ +
+

Short-read novel locus detection

+ +
    +
  • STRling
  • +
  • + ExpansionHunter Denovo +
  • +
+
+ +
+

Long-read genotyping

+ +
    +
  • TRGT
  • +
  • + TRGT-denovo +
  • +
+
+
+
+ +
+
+
+

Disease Repeat Catalogs

+ +
    +
  • + STRchive disease loci: TRGT, extended BED and JSON formats +
  • +
  • + + gnomAD disease loci: ExpansionHunter and TRGT formats + +
  • +
  • + STRipy disease loci: ExpansionHunter format +
  • +
+
+ +
+

Genome Repeat Catalogs

+ +
    +
  • + TR Explorer: Explore genome-wide TR catalogs +
  • +
  • + PlatinumTRs: 7.8 million reference TRs in TRGT format +
  • +
  • + 174,293 polymorphic STRs: ExpansionHunter format +
  • +
  • + + 174,293 polymorphic STRs: TRGT format + +
  • +
+
+ +
+

Databases

+ +
    +
  • + gnomAD: Tandem Repeats +
  • +
  • STRipy
  • +
  • + GeneReviews: Tandem Repeat Disorders +
  • +
  • OMIM
  • +
  • + WebSTR pathogenic STRs +
  • +
  • TR-Atlas
  • +
+
+
+
+ +
+

Why do repeat locus definitions differ between resources?

+ +

+ There are often multiple ways to define a given repeat locus. For example, + defining a locus as a stretch of perfectly repeating motifs tends to + result in a narrower locus than strategies allowing for interruptions. In + coding regions, the locus boundary might be chosen to align with the + reading frame. +

+ +

+ There are often multiple "correct" ways to define a given repeat locus, + however careful consideration must be made to the downstream uses of the + data. In particular, genotyping accuracy can be affected by the choice of + locus definition. Locus definitions can affect the expected allele size, + which in turn may have an impact on how allelic thresholds are defined and + determined. +

+ +

+ The loci in STRchive were defined to be broader, allowing for some + interruptions, and with consideration to the biological context and + clinical utility of the locus. This strategy increases the chance that the + locus will overlap with a relevant variant call when STRchive is used to + annotate a VCF file. It is also the preferred approach to defining loci + for improved genotyping accuracy with + TRGT. In + contrast, + ExpansionHunter + tends to perform better with narrower loci that exclude repeat interruptions. + For this reason, repeat definitions used in + gnomAD + tend to be narrower than those used in STRchive. +

+ +

Defining loci in STRchive

+ +

+ We followed a consistent protocol to arrive at the coordinates within our + repeat locus definitions. We began with the region defined in the + literature and used TRF annotations or similar to identify or refine the + coordinates if needed. We examined the reference genome at these + coordinates to find the longest exact stretch of the motif (allowing for + "N" bases if relevant, e.g. polyalanine loci) and included partial motifs, + i.e., the total length does not need to be a multiple of the motif length. + We included interrupted motifs if described in the literature or where + they occurred between stretches of the same motif. We defined the + coordinates in the hg38 reference genome first and then lifted over to the + other genomes. We conducted a manual review to ensure the coordinates in + all genome builds met the above criteria, adjusting as necessary. To + generate TRGT repeat definitions, we further extended the above + coordinates to include flanking motifs. +

+ +

Additional considerions for specific catalogs

+ +
    +
  • + TRGT: Coordinates were extended to include any flanking + repeats. All relevent motifs are given where possible. +
  • +
  • + Atarva: Flanking repeats were included on separate + lines. Only one motif is given per locus as the tool infers other motifs + automatically. +
  • +
  • + LongTR: 1-based coordinates (i.e. non-standard BED + format). All relevent motifs are given where possible. +
  • +
  • + Straglr: Uses the version of this format required for + wf-human-variation. Some loci are ommitted if they cannot match the format e.g. where + only motif change or contraction is pathogenic. +
  • +
  • + Stranger: Coordinates and names are set to match the + Stragler catalog so that they can be used together. Uses the version of + this format required for + wf-human-variation. +
  • +
+
+ +
+

Blueprint for STR evaluation/interpretation

+ +

+ With current resources relevant to each point. +

+ + +
+
diff --git a/site/src/pages/resources.mdx b/site/src/pages/resources.mdx deleted file mode 100755 index 5b1d387e..00000000 --- a/site/src/pages/resources.mdx +++ /dev/null @@ -1,144 +0,0 @@ ---- -title: "Resources" -layout: "@/layouts/Layout.astro" ---- - -import { FaCompassDrafting } from "react-icons/fa6"; -import Button from "@/components/Button"; -import Heading from "@/components/Heading"; -import Link from "@/components/Link"; -import styles from "./_resources.module.css"; - -
- - - Resources - - -
- -
-
- -
- Computational Methods - - A selection of computational methods that we have either developed or - used in our research. - For a more comprehensive review of methods, see - Tanudisastro et al. (2024). -
- -
- Short-read genotyping - - - ExpansionHunter - - HipSTR - - gangSTR -
- -
- Short-read novel locus detection - - - STRling - - ExpansionHunter Denovo -
- -
- Long-read genotyping - - - TRGT - - TRGT-denovo -
- -
-
- -
-
- -
- Disease Repeat Catalogs - - - STRchive disease loci: TRGT, extended BED and JSON formats - - gnomAD disease loci: ExpansionHunter and TRGT formats - - STRipy disease loci: ExpansionHunter format -
- -
- Genome Repeat Catalogs - - - TR Explorer: Explore genome-wide TR catalogs - - PlatinumTRs: 7.8 million reference TRs in TRGT format - - 174,293 polymorphic STRs: ExpansionHunter format - - 174,293 polymorphic STRs: TRGT format -
- -
- Databases - - - gnomAD: Tandem Repeats - - STRipy - - GeneReviews: Tandem Repeat Disorders - - OMIM - - WebSTR pathogenic STRs - - TR-Atlas -
- -
-
- -
- - - Why do repeat locus definitions differ between resources? - - -There are often multiple ways to define a given repeat locus. -For example, defining a locus as a stretch of perfectly repeating motifs tends to result in a narrower locus than strategies allowing for interruptions. -In coding regions, the locus boundary might be chosen to align with the reading frame. - -There are often multiple "correct" ways to define a given repeat locus, however careful consideration must be made to the downstream uses of the data. -In particular, genotyping accuracy can be affected by the choice of locus definition. Locus definitions can affect the expected allele size, which in turn may have an impact on how allelic thresholds are defined and determined. - -The loci in STRchive were defined to be broader, allowing for some interruptions, and with consideration to the biological context and clinical utility of the locus. -This strategy increases the chance that the locus will overlap with a relevant variant call when STRchive is used to annotate a VCF file. -It is also the preferred approach to defining loci for improved genotyping accuracy with TRGT. -In contrast, ExpansionHunter tends to perform better with narrower loci that exclude repeat interruptions. -For this reason, repeat definitions used in gnomAD tend to be narrower than those used in STRchive. - - - Defining loci in STRchive - - -We followed a consistent protocol to arrive at the coordinates within our repeat locus definitions. -We began with the region defined in the literature and used TRF annotations or similar to identify or refine the coordinates if needed. -We examined the reference genome at these coordinates to find the longest exact stretch of the motif (allowing for "N" bases if relevant, e.g. polyalanine loci) and included partial motifs, i.e., the total length does not need to be a multiple of the motif length. -We included interrupted motifs if described in the literature or where they occurred between stretches of the same motif. We defined the coordinates in the hg38 reference genome first and then lifted over to the other genomes. -We conducted a manual review to ensure the coordinates in all genome builds met the above criteria, adjusting as necessary. -To generate TRGT repeat definitions, we further extended the above coordinates to include flanking motifs. - -**Additional considerions for specific catalogs:** - -- **TRGT**: Coordinates were extended to include any flanking repeats. All relevent motifs are given where possible. -- **Atarva**: Flanking repeats were included on separate lines. Only one motif is given per locus as the tool infers other motifs automatically. -- **LongTR**: 1-based coordinates (i.e. non-standard BED format). All relevent motifs are given where possible. -- **Straglr**: Uses the version of this format required for wf-human-variation. Some loci are ommitted if they cannot match the format e.g. where only motif change or contraction is pathogenic. -- **Stranger**: Coordinates and names are set to match the Stragler catalog so that they can be used together. Uses the version of this format required for wf-human-variation. - -
- -
- - - Blueprint for STR evaluation/interpretation - - -

With current resources relevant to each point.

- - - -
diff --git a/site/src/styles.css b/site/src/styles.css new file mode 100644 index 00000000..946b3ab7 --- /dev/null +++ b/site/src/styles.css @@ -0,0 +1,269 @@ +@import "tailwindcss"; + +@theme { + --breakpoint-sm: 40rem; + --breakpoint-md: 60rem; + --breakpoint-lg: 80rem; + + --color-*: initial; + + --color-black: oklch(0% 0.001 210); + --color-dark-gray: oklch(40% 0.001 210); + --color-gray: oklch(65% 0.001 210); + --color-light-gray: oklch(95% 0.001 210); + --color-off-white: oklch(98% 0.001 210); + --color-white: oklch(100% 0.001 210); + + --color-primary: oklch(65% 0.125 210); + --color-secondary: oklch(65% 0.125 30); + --color-tertiary: oklch(65% 0.125 340); + + --color-worst: oklch(65% 0.125 20); + --color-bad: oklch(65% 0.125 30); + --color-warn: oklch(65% 0.125 60); + --color-okay: oklch(65% 0.125 220); + --color-good: oklch(65% 0.125 190); + --color-best: oklch(65% 0.125 180); + + --color-shadow: #00000020; + + --shadow-*: initial; + --shadow-md: 0 0 10px var(--color-shadow), 0 0 3px var(--color-shadow); + + --radius-*: initial; + --radius-sm: 5px; + --radius-md: 10px; + + --font-sans: "Inter Variable", sans-serif; + --font-mono: "JetBrains Mono Variable", monospace; + + --font-weight-*: initial; + --font-weight-regular: 350; + --font-weight-medium: 500; + --font-weight-bold: 600; +} + +@layer base { + html { + @apply font-regular bg-white font-sans leading-loose text-black underline-offset-2; + font-size: 105%; + } + + body { + @apply flex min-h-screen flex-col; + } + + main { + @apply flex grow flex-col; + } + + header, + footer, + section { + --width: 250; + @apply even:bg-off-white flex flex-col gap-8 px-[calc(max(--spacing(10),(100%-var(--width)*(--spacing(1)))/2))] py-12 last:grow odd:bg-white; + } + + h1, + h2, + h3, + h4 { + @apply font-regular flex scroll-mt-4 items-center gap-[0.5em] tracking-wide [&_svg]:opacity-25; + } + + h1 { + @apply justify-center text-center text-3xl; + } + + h2 { + @apply justify-center text-center text-2xl; + } + + h3 { + @apply text-xl; + } + + h4 { + @apply text-lg; + } + + strong, + b { + @apply font-bold; + } + + a { + @apply text-primary wrap-break-word underline transition hover:text-current; + } + + img, + svg { + @apply shrink-0; + } + + svg { + @apply overflow-visible; + } + + blockquote { + @apply bg-light-gray flex flex-col gap-2 rounded-md p-8; + } + + label { + @apply relative flex items-center gap-2; + + & > span { + @apply flex items-center gap-2; + } + + &:has([required]) > span::after { + @apply text-secondary content-["*"]; + } + + &:has(input, textarea, select) { + @apply cursor-pointer; + } + } + + input[type="checkbox"] { + @apply cursor-pointer; + } + + button, + select { + @apply inline-flex cursor-pointer items-center justify-center transition; + } + + p > button, + p > [tabindex] { + @apply underline decoration-dashed underline-offset-2; + } + + ul, + ol { + @apply list-[">"] pl-8; + } + + li { + @apply pl-2; + + &::marker { + color: color-mix(in srgb, currentColor, transparent 50%); + } + } + + hr { + @apply bg-light-gray h-0.5 border-none; + } + + table { + @apply border-collapse; + } + + th { + @apply border-light-gray border-b-2 px-2 py-1 font-medium; + } + + td { + @apply border-light-gray px-2 py-1 not-first:border-l; + } + + thead tr { + background: var(--color-off-white); + } + + tbody tr { + @apply even:bg-off-white odd:bg-white; + } + + code { + @apply bg-light-gray rounded-md px-2 py-1 font-mono; + } + + dl { + --cols: 1; + @apply grid grid-cols-[repeat(var(--cols),auto_1fr)] items-center; + } + + dt, + dd { + @apply flex px-4 py-2; + } + + dt { + @apply text-gray font-medium; + } + + dd { + @apply mr-4; + + &:empty::after { + @apply content-["—"]; + } + } + + [aria-disabled="true"] { + @apply pointer-events-none cursor-not-allowed opacity-25 grayscale; + } + + .tabler-icon { + @apply h-[1.25em] w-[unset]; + } +} + +@utility width-full { + --width: 9999; +} + +@utility width-sm { + --width: 175; +} + +@utility boxes { + --columns: 4; + @apply grid grid-flow-dense grid-cols-[repeat(var(--columns),1fr)] gap-8 max-md:grid-cols-2 max-sm:grid-cols-1; +} + +@utility box { + @apply border-gray/10 relative flex flex-col gap-2 overflow-hidden rounded-md border-2 px-4 py-2 wrap-break-word; + + & > strong:first-child { + @apply bg-gray/10 text-dark-gray -mx-4 -mt-2 flex items-center gap-2 px-4 py-1 font-medium; + } +} + +@utility box-2 { + @apply col-span-2 max-md:col-span-1; +} + +@utility box-3 { + @apply col-span-3 max-lg:col-span-2 max-md:col-span-1; +} + +@utility box-full { + @apply col-span-full; +} + +@utility box-primary { + @apply border-primary/10; + + & > strong:first-child { + @apply bg-primary/10; + } +} + +@utility box-secondary { + @apply border-secondary/10; + + & > strong:first-child { + @apply bg-secondary/10; + } +} + +@utility box-tertiary { + @apply border-tertiary/10; + + & > strong:first-child { + @apply bg-tertiary/10; + } +} diff --git a/site/src/types.d.ts b/site/src/types.d.ts new file mode 100755 index 00000000..3fcb78bc --- /dev/null +++ b/site/src/types.d.ts @@ -0,0 +1 @@ +declare module "@fontsource/*"; diff --git a/site/src/util/browser.js b/site/src/util/browser.ts similarity index 100% rename from site/src/util/browser.js rename to site/src/util/browser.ts diff --git a/site/src/util/dom.js b/site/src/util/dom.ts similarity index 65% rename from site/src/util/dom.js rename to site/src/util/dom.ts index 41375c6e..f09c09ea 100644 --- a/site/src/util/dom.js +++ b/site/src/util/dom.ts @@ -1,16 +1,16 @@ -import { debounce } from "lodash-es"; import { sleep } from "@/util/misc"; +import { debounce } from "lodash-es"; /** scroll page so that mouse stays at same position in document */ -export const preserveScroll = async (element) => { +export const preserveScroll = async (element: HTMLElement) => { const oldY = element.getBoundingClientRect().top; - await sleep(0); + await sleep(); const newY = element.getBoundingClientRect().top; window.scrollBy({ top: newY - oldY, behavior: "instant" }); }; /** fit svg viewbox to content */ -export const fitViewBox = (element, padding = 0) => { +export const fitViewBox = (element: SVGSVGElement, padding = 0) => { let { x, y, width, height } = element.getBBox(); x -= padding; y -= padding; @@ -21,34 +21,33 @@ export const fitViewBox = (element, padding = 0) => { }; /** find index of first element "in view". model behavior off of wikiwand.com. */ -export const firstInView = (elements) => { +export const firstInView = (elements: Element[]) => { for (const element of elements.reverse()) if (element.getBoundingClientRect()?.top < 100) return element; }; /** highlight an element */ -export const spotlight = async (selector) => { - const element = document.querySelector(selector); - if (!element) return; - element.focus(); +export const spotlight = async (element: Element) => { + if (element instanceof HTMLElement) element.focus(); element.scrollIntoView({ block: "center", behavior: "smooth" }); await waitForStop(window, "scroll"); element.animate( [ - { boxShadow: "0 0 0 10px transparent, 0 0 0 9999px transparent" }, - { boxShadow: "0 0 0 10px var(--primary), 0 0 0 9999px #000000cc" }, - { boxShadow: "0 0 0 10px transparent, 0 0 0 9999px transparent" }, + { zIndex: 9999, boxShadow: "0 0 0 9999px transparent" }, + { zIndex: 9999, boxShadow: "0 0 0 9999px #000000cc" }, + { zIndex: 9999, boxShadow: "0 0 0 9999px #000000cc" }, + { zIndex: 9999, boxShadow: "0 0 0 9999px transparent" }, ], { duration: 2000, easing: "ease-in-out" }, ); }; /** wait for event to stop being emitted */ -const waitForStop = async (target, event, wait = 100) => +const waitForStop = async (target: EventTarget, event: string, wait = 100) => new Promise(async (resolve) => { const listener = debounce(() => { target.removeEventListener(event, listener); - resolve(); + resolve(true); }, wait); listener(); target.addEventListener(event, listener); diff --git a/site/src/util/download.js b/site/src/util/download.ts similarity index 81% rename from site/src/util/download.js rename to site/src/util/download.ts index 09cea0bb..fa8fcc5e 100644 --- a/site/src/util/download.js +++ b/site/src/util/download.ts @@ -1,11 +1,13 @@ +type Filename = string | string[]; + /** download url as file */ const download = ( /** url to download */ - url, + url: string, /** single filename string or filename "parts" */ - filename, - /** extension, without dot */ - ext, + filename: Filename, + /** extension, with or without dot */ + ext: string, ) => { const link = document.createElement("a"); link.href = url; @@ -33,14 +35,14 @@ const download = ( /** make url from blob */ export const getUrl = ( /** blob data to download */ - data, + data: Blob | string, /** mime type */ - type, + type: string, ) => typeof data === "string" && data.startsWith("data:") ? data : window.URL.createObjectURL(new Blob([data], { type })); /** download data as json */ -export const downloadJson = (data, filename) => +export const downloadJson = (data: unknown, filename: Filename) => download(getUrl(JSON.stringify(data), "application/json"), filename, "json"); diff --git a/site/src/util/format.jsx b/site/src/util/format.jsx deleted file mode 100644 index 233acf5d..00000000 --- a/site/src/util/format.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import { Fragment } from "react/jsx-runtime"; - -/** make english list from array */ -export const makeList = (items, Wrapper = "span", joiner = "or") => { - items = [items].flat(); - items = items.map((item, index) => {item}); - if (!items?.length) return <>; - if (items.length === 1) return items[0]; - const first = items.slice(0, -1); - const last = items.slice(-1); - if (items.length === 2) - return ( - <> - {first} {joiner} {last} - - ); - return ( - <> - {first.map((item, index) => ( - {item}, - ))} - {joiner} {last} - - ); -}; diff --git a/site/src/util/format.tsx b/site/src/util/format.tsx new file mode 100644 index 00000000..03d66d1a --- /dev/null +++ b/site/src/util/format.tsx @@ -0,0 +1,32 @@ +import type { JSX } from "react"; +import { Fragment } from "react/jsx-runtime"; + +/** make english list from array */ +export const makeList = ( + items: unknown, + Wrapper: keyof JSX.IntrinsicElements = "span", + joiner = "or", +) => { + let list = [items].flat(); + list = list.map((item, index) => ( + {String(item)} + )); + if (!list?.length) return <>; + if (list.length === 1) return list[0]; + const first = list.slice(0, -1); + const last = list.slice(-1); + if (list.length === 2) + return ( + <> + {first} {joiner} {last} + + ); + return ( + <> + {first.map((item, index) => ( + {String(item)}, + ))} + {joiner} {last} + + ); +}; diff --git a/site/src/util/git.js b/site/src/util/git.ts similarity index 78% rename from site/src/util/git.js rename to site/src/util/git.ts index f42a5978..986aafa5 100644 --- a/site/src/util/git.js +++ b/site/src/util/git.ts @@ -3,7 +3,7 @@ import { readFileSync } from "fs"; import { maxBy } from "lodash-es"; /** get git blame info of json file entry. makes assumptions about structure and formatting. */ -export const getJsonBlame = (file, regex) => { +export const getJsonBlame = (file: string, regex: string) => { /** split file into lines */ const lines = readFileSync(file, "utf-8").split("\n"); @@ -26,30 +26,32 @@ export const getJsonBlame = (file, regex) => { .toString() .split("\n") .map((line) => { - let [, hash, author, date] = + const [, hash, author, date] = /** extract info */ line.match(/([A-Za-z0-9]+) \((.+) (\d\d\d\d-\d\d-\d\d)/i) ?? []; return { hash, author, date: new Date(date) }; }); /** get most recent blame line */ - let { hash, author, date } = maxBy(blame, "date"); + const { hash, author, date } = maxBy(blame, "date") ?? {}; /** format date */ - date = new Date(date).toLocaleString(undefined, { dateStyle: "medium" }); + const formattedDate = new Date(date ?? "").toLocaleString(undefined, { + dateStyle: "medium", + }); /** get project version */ const version = getVersion(getFile("../CITATION.cff", hash)); - return { start, end, line, hash, author, date, version }; + return { start, end, line, hash, author, date: formattedDate, version }; }; /** extract version field from yaml string */ -const getVersion = (contents) => +const getVersion = (contents?: string) => contents?.match(/^version:\s*(.+)$/im)?.[1] ?? ""; /** get contents of file w/ optional hash version */ -const getFile = (file, hash) => { +const getFile = (file: string, hash?: string) => { try { if (!hash) throw Error("no hash"); const contents = execSync(`git show ${hash}:${file}`).toString(); diff --git a/site/src/util/hooks.js b/site/src/util/hooks.ts similarity index 87% rename from site/src/util/hooks.js rename to site/src/util/hooks.ts index d94f39ff..9a360bb9 100644 --- a/site/src/util/hooks.js +++ b/site/src/util/hooks.ts @@ -1,11 +1,13 @@ import { useCallback, useRef, useState } from "react"; /** simple version of tanstack-query with status, error handling, de-duping */ -export const useQuery = ( +export const useQuery = ( /** async func that returns data */ - func, + func: () => Promise, ) => { - const [state, setState] = useState({ status: "" }); + const [state, setState] = useState<{ status: string; data?: Data }>({ + status: "", + }); /** keep track of latest query function run */ const latest = useRef(Symbol()); diff --git a/site/src/util/markdown.js b/site/src/util/markdown.ts similarity index 83% rename from site/src/util/markdown.js rename to site/src/util/markdown.ts index fc7dc498..da9445f4 100644 --- a/site/src/util/markdown.js +++ b/site/src/util/markdown.ts @@ -8,4 +8,6 @@ export const parse = (content = "") => micromark(content, { extensions: [gfmAutolinkLiteral()], htmlExtensions: [gfmAutolinkLiteralHtml()], - }); + }) + .replaceAll("

", "") + .replaceAll("

", ""); diff --git a/site/src/util/math.js b/site/src/util/math.js deleted file mode 100644 index c4db2ec4..00000000 --- a/site/src/util/math.js +++ /dev/null @@ -1,5 +0,0 @@ -/** linear interpolate */ -export const lerp = (value, sourceMin, sourceMax, targetMin, targetMax) => - targetMin + - ((value - sourceMin) / (sourceMax - sourceMin || 1)) * - (targetMax - targetMin); diff --git a/site/src/util/math.ts b/site/src/util/math.ts new file mode 100644 index 00000000..ee22d88c --- /dev/null +++ b/site/src/util/math.ts @@ -0,0 +1,11 @@ +/** linear interpolate */ +export const lerp = ( + value: number, + sourceMin: number, + sourceMax: number, + targetMin: number, + targetMax: number, +) => + targetMin + + ((value - sourceMin) / (sourceMax - sourceMin || 1)) * + (targetMax - targetMin); diff --git a/site/src/util/misc.js b/site/src/util/misc.ts similarity index 100% rename from site/src/util/misc.js rename to site/src/util/misc.ts diff --git a/site/src/util/object.js b/site/src/util/object.ts similarity index 73% rename from site/src/util/object.js rename to site/src/util/object.ts index ea30d213..a758840a 100644 --- a/site/src/util/object.js +++ b/site/src/util/object.ts @@ -1,6 +1,6 @@ /** get values of nested object * e.g. getValues({ a: 1, b: [2, { b: 3 } ] }) => [1, 2, 3] */ -export const getValues = (object) => +export const getValues = (object: object): Exclude[] => object && typeof object === "object" ? Object.values(object).map(getValues).flat() : [object]; diff --git a/site/src/util/string.js b/site/src/util/string.ts similarity index 78% rename from site/src/util/string.js rename to site/src/util/string.ts index 1e488d67..b36daee9 100644 --- a/site/src/util/string.js +++ b/site/src/util/string.ts @@ -1,5 +1,5 @@ /** shorten url text */ -export const shortenUrl = (value) => { +export const shortenUrl = (value: string) => { try { const url = new URL(value); return (url.hostname + url.pathname).replace(/\/+$/, ""); @@ -9,7 +9,7 @@ export const shortenUrl = (value) => { }; /** make string url-safe */ -export const slugify = (value) => +export const slugify = (value: string) => value .toLowerCase() .replaceAll(/[^a-z0-9]+/g, " ") diff --git a/site/tsconfig.json b/site/tsconfig.json index 002f3e34..6c9b8a75 100644 --- a/site/tsconfig.json +++ b/site/tsconfig.json @@ -1,12 +1,15 @@ { "extends": "astro/tsconfigs/base", "compilerOptions": { - "baseUrl": ".", + "strict": true, "paths": { - "@/*": ["src/*"], - "~/*": ["../data/*"] + "@/*": ["./src/*"], + "~/*": ["../data/*"], + "plotly.js-dist": ["./node_modules/@types/plotly.js"] }, "jsx": "react-jsx", - "jsxImportSource": "react" - } + "jsxImportSource": "react", + "types": ["node", "vite/client", "vite-plugin-svgr/client"] + }, + "include": [".astro/types.d.ts", "src/**/*"] } diff --git a/workflow/Snakefile b/workflow/Snakefile index 74552f0f..5cb65d84 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -222,38 +222,41 @@ if stages == "new-refs": input: citations = "{base_dir}citations-tmp.json", backup = "{base_dir}STRchive-citations-backup.json", + curations = "{base_dir}criTRia-curations.json", check = "{base_dir}check-loci.txt", check2 = "{base_dir}check-loci-citations.txt" output: results = "{base_dir}STRchive-citations.json" shell: """ - python {scripts_dir}run-manubot.py {input.citations} {output.results} --append {input.backup} + python {scripts_dir}run-manubot.py {input.citations} {output.results} --append {input.backup} --curations {input.curations} """ if stages == "old-refs": rule manubot: input: in_json = in_json, backup = "{base_dir}STRchive-citations-backup.json", + curations = "{base_dir}criTRia-curations.json", check = "{base_dir}check-loci.txt" output: results = "{base_dir}STRchive-citations.json" shell: """ - python {scripts_dir}run-manubot.py {input.in_json} {output.results} --append {input.backup} --inloci + python {scripts_dir}run-manubot.py {input.in_json} {output.results} --append {input.backup} --inloci --curations {input.curations} """ if stages == "all" or stages == "skip-refs": rule manubot: input: citations = "{base_dir}citations-tmp.json", + curations = "{base_dir}criTRia-curations.json", check = "{base_dir}check-loci.txt", check2 = "{base_dir}check-loci-citations.txt" output: results = "{base_dir}STRchive-citations.json" shell: """ - python {scripts_dir}run-manubot.py {input.citations} {output.results} + python {scripts_dir}run-manubot.py {input.citations} {output.results} --curations {input.curations} """ rule TRGT_hg38: