diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea78..9b77ea71 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,10 +1,9 @@ --- name: Bug report about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - +title: "" +labels: "" +assignees: "" --- **Describe the bug** @@ -12,6 +11,7 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' @@ -24,15 +24,17 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] + +- OS: [e.g. iOS] +- Browser [e.g. chrome, safari] +- Version [e.g. 22] **Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] + +- Device: [e.g. iPhone6] +- OS: [e.g. iOS8.1] +- Browser [e.g. stock browser, safari] +- Version [e.g. 22] **Additional context** Add any other context about the problem here. diff --git a/.github/labeler.yml b/.github/labeler.yml index a4b60a8f..266e9e49 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,11 +1,11 @@ feature: - - head-branch: ['^feature/', '^feat/', '^enhancement/'] + - head-branch: ["^feature/", "^feat/", "^enhancement/"] bug: - - head-branch: ['^bug/', '^fix/', '^hotfix/'] + - head-branch: ["^bug/", "^fix/", "^hotfix/"] chore: - - head-branch: ['^chore/', '^task/'] + - head-branch: ["^chore/", "^task/"] documentation: - - head-branch: ['^doc/', '^docs/'] + - head-branch: ["^doc/", "^docs/"] dependencies: - changed-files: - - any-glob-to-any-file: ['package.json', 'package-lock.json', 'bun.lockb'] + - any-glob-to-any-file: ["package.json", "package-lock.json", "bun.lockb"] diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index c7187db0..28b070ab 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -2,11 +2,11 @@ name: "CodeQL Advanced Security Analysis" on: push: - branches: [ "main", "dev" ] + branches: ["main", "dev"] pull_request: - branches: [ "main", "dev" ] + branches: ["main", "dev"] schedule: - - cron: '0 2 * * *' + - cron: "0 2 * * *" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -29,37 +29,37 @@ jobs: contents: read steps: - - name: Checkout repository - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup pnpm - uses: pnpm/action-setup@v3 - with: - version: 9 - - - name: Setup Node - uses: actions/setup-node@v6 - with: - node-version: '20' - cache: 'pnpm' - - - name: Install dependencies - run: pnpm install - - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - with: - languages: javascript-typescript - build-mode: none - # Standard robust query suites catch XSS, SQLi, Logic flaws, etc. - queries: security-extended,security-and-quality - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 - with: - category: "/language:javascript-typescript" + - name: Checkout repository + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup pnpm + uses: pnpm/action-setup@v3 + with: + version: 9 + + - name: Setup Node + uses: actions/setup-node@v6 + with: + node-version: "20" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Initialize CodeQL + uses: github/codeql-action/init@v4 + with: + languages: javascript-typescript + build-mode: none + # Standard robust query suites catch XSS, SQLi, Logic flaws, etc. + queries: security-extended,security-and-quality + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v4 + with: + category: "/language:javascript-typescript" dependency-review: name: Dependency Security Review @@ -72,15 +72,15 @@ jobs: pull-requests: write steps: - - name: Checkout repository - uses: actions/checkout@v6 + - name: Checkout repository + uses: actions/checkout@v6 - - name: Dependency Review - uses: actions/dependency-review-action@v4 - with: - fail-on-severity: high - comment-summary-in-pr: always - vulnerability-check: true + - name: Dependency Review + uses: actions/dependency-review-action@v4 + with: + fail-on-severity: high + comment-summary-in-pr: always + vulnerability-check: true security-summary: name: Security Analysis Summary @@ -89,9 +89,9 @@ jobs: if: always() steps: - - name: Generate Summary - run: | - echo "# Security Analysis Complete 🛡️" >> $GITHUB_STEP_SUMMARY - echo "The advanced CodeQL analysis and Dependency Review have finished." >> $GITHUB_STEP_SUMMARY - echo "All findings have been uploaded directly to the GitHub Security tab." >> $GITHUB_STEP_SUMMARY - echo "View detailed results at: https://github.com/${{ github.repository }}/security/code-scanning" >> $GITHUB_STEP_SUMMARY + - name: Generate Summary + run: | + echo "# Security Analysis Complete 🛡️" >> $GITHUB_STEP_SUMMARY + echo "The advanced CodeQL analysis and Dependency Review have finished." >> $GITHUB_STEP_SUMMARY + echo "All findings have been uploaded directly to the GitHub Security tab." >> $GITHUB_STEP_SUMMARY + echo "View detailed results at: https://github.com/${{ github.repository }}/security/code-scanning" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/deploy-hacklytics.yml b/.github/workflows/deploy-hacklytics.yml new file mode 100644 index 00000000..ae343f47 --- /dev/null +++ b/.github/workflows/deploy-hacklytics.yml @@ -0,0 +1,42 @@ +name: Deploy Hacklytics to Firebase Hosting + +on: + push: + branches: + - main + pull_request: + +permissions: + contents: read + pull-requests: write + checks: write + +jobs: + build_and_deploy: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v5 + + - uses: actions/setup-node@v6 + with: + node-version: "22.23.1" + cache: "pnpm" + + - name: Install dependencies + run: pnpm install + + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 + + - name: Deploy to Firebase Hosting + uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: ${{ secrets.GITHUB_TOKEN }} + firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DSGT_WEBSITE }} + projectId: dsgt-website + channelId: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.pull_request.number) || 'live' }} + target: hacklytics + entryPoint: "." diff --git a/.github/workflows/dev-to-main-pr.yml b/.github/workflows/dev-to-main-pr.yml index 21e2fa9e..5e106f42 100644 --- a/.github/workflows/dev-to-main-pr.yml +++ b/.github/workflows/dev-to-main-pr.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6 - + - name: Create or Update PR env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/feature-to-dev-pr.yml b/.github/workflows/feature-to-dev-pr.yml index 994eae63..8a61dfc4 100644 --- a/.github/workflows/feature-to-dev-pr.yml +++ b/.github/workflows/feature-to-dev-pr.yml @@ -5,7 +5,7 @@ on: branches-ignore: - main - dev - - 'dependabot/**' + - "dependabot/**" jobs: create-pull-request: @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v6 - + - name: Create or Update PR env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml index eeb6ba96..f6ee62e0 100644 --- a/.github/workflows/firebase-hosting-merge.yml +++ b/.github/workflows/firebase-hosting-merge.yml @@ -16,14 +16,14 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22.23.1" + cache: "pnpm" - name: Install dependencies run: pnpm install - - name: Build - run: pnpm turbo run build + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 - uses: FirebaseExtended/action-hosting-deploy@v0 with: @@ -32,3 +32,4 @@ jobs: target: hacklytics channelId: live projectId: dsgt-website + entryPoint: "." diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml index 2cbf58a7..6b480808 100644 --- a/.github/workflows/firebase-hosting-pull-request.yml +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -18,14 +18,14 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22.23.1" + cache: "pnpm" - name: Install dependencies run: pnpm install - - name: Build - run: pnpm turbo run build + - name: Build Hacklytics 2027 + run: pnpm turbo run build --filter=hacklytics2027 - uses: FirebaseExtended/action-hosting-deploy@v0 with: @@ -33,3 +33,5 @@ jobs: firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_DSGT_WEBSITE }} target: hacklytics projectId: dsgt-website + channelId: pr-${{ github.event.pull_request.number }} + entryPoint: "." diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml index 7006e427..dd2783f3 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/label.yml @@ -1,6 +1,6 @@ name: "Pull Request Labeler" on: -- pull_request_target + - pull_request_target jobs: triage: @@ -9,4 +9,4 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@v6 + - uses: actions/labeler@v6 diff --git a/.github/workflows/pnpm-ci.yml b/.github/workflows/pnpm-ci.yml index d680ba74..968e475b 100644 --- a/.github/workflows/pnpm-ci.yml +++ b/.github/workflows/pnpm-ci.yml @@ -18,8 +18,8 @@ jobs: - uses: actions/setup-node@v6 with: - node-version: '22' - cache: 'pnpm' + node-version: "22" + cache: "pnpm" - name: Install dependencies run: pnpm install diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 795786ed..0cdeaf62 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,7 +17,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: '20' + node-version: "20" - name: Setup pnpm uses: pnpm/action-setup@v3 diff --git a/.gitignore b/.gitignore index 41c4cbce..d5a94220 100644 --- a/.gitignore +++ b/.gitignore @@ -84,6 +84,10 @@ fix.js .claude/skills/react-doctor/SKILL.md .agents/skills/react-doctor/SKILL.md +# Graphify local-only files +graphify-out/cache/ +graphify-out/cost.json + # Git commit restriction # To restrict commits to 'aamoghS' only: # 1. Enable branch protection on 'main' branch in GitHub Settings diff --git a/.graphifyignore b/.graphifyignore new file mode 100644 index 00000000..ba90d7b7 --- /dev/null +++ b/.graphifyignore @@ -0,0 +1,48 @@ +# Ignore everything by default +* + +# Whitelist code files +!*.ts +!*.tsx +!*.js +!*.jsx +!*.json +!*.py +!*.go +!*.rs +!*.cs +!*.cpp +!*.c +!*.h +!*.java +!*.swift +!*.kt +!*.sh +!*.bash +!*.sql +!*.vue +!*.svelte + +# Recursive whitelist +!**/ +!**/*.ts +!**/*.tsx +!**/*.js +!**/*.jsx +!**/*.json +!**/*.py +!**/*.go +!**/*.rs +!**/*.cs +!**/*.cpp +!**/*.c +!**/*.h +!**/*.java +!**/*.swift +!**/*.kt +!**/*.sh +!**/*.bash +!**/*.sql +!**/*.vue +!**/*.svelte + diff --git a/.vscode/settings.json b/.vscode/settings.json index 36b3d97f..3e7fed1b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,7 @@ { - "accessibility.signals.terminalBell": { - "announcement": "off", - "sound": "off" - }, - "compile-hero.disable-compile-files-on-did-save-code": true -} \ No newline at end of file + "accessibility.signals.terminalBell": { + "announcement": "off", + "sound": "off" + }, + "compile-hero.disable-compile-files-on-did-save-code": true +} diff --git a/GCP_SETUP.md b/GCP_SETUP.md index 02873068..15260bd3 100644 --- a/GCP_SETUP.md +++ b/GCP_SETUP.md @@ -5,6 +5,7 @@ This guide explains how to set up your local environment to work with the GCP-ho ## 1. Prerequisites Install the following CLI tools: + - **Google Cloud CLI**: [Install gcloud](https://cloud.google.com/sdk/docs/install) - **Firebase CLI**: `npm install -g firebase-tools` @@ -22,6 +23,7 @@ firebase login ``` Set the default project: + ```bash gcloud config set project dsgt-website firebase use dsgt-website @@ -37,6 +39,7 @@ We manage secrets in **GCP Secret Manager**. To avoid manually copying them into ``` This will pull the following from GCP: + - `DATABASE_URL` - `AUTH_SECRET` - `STRIPE_SECRET_KEY` @@ -54,10 +57,13 @@ pnpm dev:full ## 5. Troubleshooting ### Permission Denied + If you get a permission error when running `sync-secrets.sh`, make it executable: + ```bash chmod +x scripts/sync-secrets.sh ``` ### Missing Secrets + Ensure your account has the `Secret Manager Secret Accessor` role in the GCP Console for the `dsgt-website` project. diff --git a/firebase.json b/firebase.json index 70a7dc59..dc0702dc 100644 --- a/firebase.json +++ b/firebase.json @@ -64,4 +64,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json new file mode 100644 index 00000000..a0a8db74 --- /dev/null +++ b/graphify-out/.graphify_labels.json @@ -0,0 +1,136 @@ +{ + "0": "Community 0", + "1": "Community 1", + "2": "Community 2", + "3": "Community 3", + "4": "Community 4", + "5": "Community 5", + "6": "Community 6", + "7": "Community 7", + "8": "Community 8", + "9": "Community 9", + "10": "Community 10", + "11": "Community 11", + "12": "Community 12", + "13": "Community 13", + "14": "Community 14", + "15": "Community 15", + "16": "Community 16", + "17": "Community 17", + "18": "Community 18", + "19": "Community 19", + "20": "Community 20", + "21": "Community 21", + "22": "Community 22", + "23": "Community 23", + "24": "Community 24", + "25": "Community 25", + "26": "Community 26", + "27": "Community 27", + "28": "Community 28", + "29": "Community 29", + "30": "Community 30", + "31": "Community 31", + "32": "Community 32", + "33": "Community 33", + "34": "Community 34", + "35": "Community 35", + "36": "Community 36", + "37": "Community 37", + "38": "Community 38", + "39": "Community 39", + "40": "Community 40", + "41": "Community 41", + "42": "Community 42", + "43": "Community 43", + "44": "Community 44", + "45": "Community 45", + "46": "Community 46", + "47": "Community 47", + "48": "Community 48", + "49": "Community 49", + "50": "Community 50", + "51": "Community 51", + "52": "Community 52", + "53": "Community 53", + "54": "Community 54", + "55": "Community 55", + "56": "Community 56", + "57": "Community 57", + "58": "Community 58", + "59": "Community 59", + "60": "Community 60", + "61": "Community 61", + "62": "Community 62", + "63": "Community 63", + "64": "Community 64", + "65": "Community 65", + "66": "Community 66", + "67": "Community 67", + "68": "Community 68", + "69": "Community 69", + "70": "Community 70", + "71": "Community 71", + "72": "Community 72", + "73": "Community 73", + "74": "Community 74", + "75": "Community 75", + "76": "Community 76", + "77": "Community 77", + "78": "Community 78", + "79": "Community 79", + "80": "Community 80", + "81": "Community 81", + "82": "Community 82", + "83": "Community 83", + "84": "Community 84", + "85": "Community 85", + "86": "Community 86", + "87": "Community 87", + "88": "Community 88", + "89": "Community 89", + "90": "Community 90", + "91": "Community 91", + "92": "Community 92", + "93": "Community 93", + "94": "Community 94", + "95": "Community 95", + "96": "Community 96", + "97": "Community 97", + "98": "Community 98", + "99": "Community 99", + "100": "Community 100", + "101": "Community 101", + "102": "Community 102", + "103": "Community 103", + "104": "Community 104", + "105": "Community 105", + "106": "Community 106", + "107": "Community 107", + "108": "Community 108", + "109": "Community 109", + "110": "Community 110", + "111": "Community 111", + "112": "Community 112", + "113": "Community 113", + "114": "Community 114", + "115": "Community 115", + "116": "Community 116", + "117": "Community 117", + "118": "Community 118", + "119": "Community 119", + "120": "Community 120", + "121": "Community 121", + "122": "Community 122", + "123": "Community 123", + "124": "Community 124", + "125": "Community 125", + "126": "Community 126", + "127": "Community 127", + "128": "Community 128", + "129": "Community 129", + "130": "Community 130", + "131": "Community 131", + "132": "Community 132", + "133": "Community 133" +} diff --git a/graphify-out/.graphify_root b/graphify-out/.graphify_root new file mode 100644 index 00000000..945c9b46 --- /dev/null +++ b/graphify-out/.graphify_root @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md new file mode 100644 index 00000000..112720ba --- /dev/null +++ b/graphify-out/GRAPH_REPORT.md @@ -0,0 +1,476 @@ +# Graph Report - query (2026-06-13) + +## Corpus Check +- 270 files · ~3,724,867 words +- Verdict: corpus is large enough that graph structure adds value. + +## Summary +- 1510 nodes · 2016 edges · 134 communities (103 shown, 31 thin omitted) +- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS +- Token cost: 0 input · 0 output + +## Graph Freshness +- Built from commit: `1e412bdb` +- Run `git rev-parse HEAD` and compare to check if the graph is stale. +- Run `graphify update .` after code changes (no API cost). + +## Community Hubs (Navigation) +- [[_COMMUNITY_Community 0|Community 0]] +- [[_COMMUNITY_Community 1|Community 1]] +- [[_COMMUNITY_Community 2|Community 2]] +- [[_COMMUNITY_Community 3|Community 3]] +- [[_COMMUNITY_Community 4|Community 4]] +- [[_COMMUNITY_Community 5|Community 5]] +- [[_COMMUNITY_Community 6|Community 6]] +- [[_COMMUNITY_Community 7|Community 7]] +- [[_COMMUNITY_Community 8|Community 8]] +- [[_COMMUNITY_Community 9|Community 9]] +- [[_COMMUNITY_Community 10|Community 10]] +- [[_COMMUNITY_Community 11|Community 11]] +- [[_COMMUNITY_Community 12|Community 12]] +- [[_COMMUNITY_Community 13|Community 13]] +- [[_COMMUNITY_Community 14|Community 14]] +- [[_COMMUNITY_Community 15|Community 15]] +- [[_COMMUNITY_Community 16|Community 16]] +- [[_COMMUNITY_Community 17|Community 17]] +- [[_COMMUNITY_Community 18|Community 18]] +- [[_COMMUNITY_Community 19|Community 19]] +- [[_COMMUNITY_Community 20|Community 20]] +- [[_COMMUNITY_Community 21|Community 21]] +- [[_COMMUNITY_Community 22|Community 22]] +- [[_COMMUNITY_Community 23|Community 23]] +- [[_COMMUNITY_Community 24|Community 24]] +- [[_COMMUNITY_Community 25|Community 25]] +- [[_COMMUNITY_Community 26|Community 26]] +- [[_COMMUNITY_Community 27|Community 27]] +- [[_COMMUNITY_Community 28|Community 28]] +- [[_COMMUNITY_Community 29|Community 29]] +- [[_COMMUNITY_Community 30|Community 30]] +- [[_COMMUNITY_Community 31|Community 31]] +- [[_COMMUNITY_Community 32|Community 32]] +- [[_COMMUNITY_Community 33|Community 33]] +- [[_COMMUNITY_Community 34|Community 34]] +- [[_COMMUNITY_Community 35|Community 35]] +- [[_COMMUNITY_Community 36|Community 36]] +- [[_COMMUNITY_Community 37|Community 37]] +- [[_COMMUNITY_Community 38|Community 38]] +- [[_COMMUNITY_Community 39|Community 39]] +- [[_COMMUNITY_Community 40|Community 40]] +- [[_COMMUNITY_Community 41|Community 41]] +- [[_COMMUNITY_Community 42|Community 42]] +- [[_COMMUNITY_Community 43|Community 43]] +- [[_COMMUNITY_Community 44|Community 44]] +- [[_COMMUNITY_Community 45|Community 45]] +- [[_COMMUNITY_Community 46|Community 46]] +- [[_COMMUNITY_Community 47|Community 47]] +- [[_COMMUNITY_Community 48|Community 48]] +- [[_COMMUNITY_Community 49|Community 49]] +- [[_COMMUNITY_Community 50|Community 50]] +- [[_COMMUNITY_Community 51|Community 51]] +- [[_COMMUNITY_Community 52|Community 52]] +- [[_COMMUNITY_Community 53|Community 53]] +- [[_COMMUNITY_Community 54|Community 54]] +- [[_COMMUNITY_Community 55|Community 55]] +- [[_COMMUNITY_Community 56|Community 56]] +- [[_COMMUNITY_Community 57|Community 57]] +- [[_COMMUNITY_Community 58|Community 58]] +- [[_COMMUNITY_Community 59|Community 59]] +- [[_COMMUNITY_Community 60|Community 60]] +- [[_COMMUNITY_Community 61|Community 61]] +- [[_COMMUNITY_Community 62|Community 62]] +- [[_COMMUNITY_Community 63|Community 63]] +- [[_COMMUNITY_Community 64|Community 64]] +- [[_COMMUNITY_Community 65|Community 65]] +- [[_COMMUNITY_Community 66|Community 66]] +- [[_COMMUNITY_Community 67|Community 67]] +- [[_COMMUNITY_Community 68|Community 68]] +- [[_COMMUNITY_Community 69|Community 69]] +- [[_COMMUNITY_Community 70|Community 70]] +- [[_COMMUNITY_Community 71|Community 71]] +- [[_COMMUNITY_Community 72|Community 72]] +- [[_COMMUNITY_Community 73|Community 73]] +- [[_COMMUNITY_Community 74|Community 74]] +- [[_COMMUNITY_Community 75|Community 75]] +- [[_COMMUNITY_Community 77|Community 77]] +- [[_COMMUNITY_Community 78|Community 78]] +- [[_COMMUNITY_Community 79|Community 79]] +- [[_COMMUNITY_Community 80|Community 80]] +- [[_COMMUNITY_Community 81|Community 81]] +- [[_COMMUNITY_Community 82|Community 82]] +- [[_COMMUNITY_Community 83|Community 83]] +- [[_COMMUNITY_Community 84|Community 84]] +- [[_COMMUNITY_Community 85|Community 85]] +- [[_COMMUNITY_Community 86|Community 86]] +- [[_COMMUNITY_Community 87|Community 87]] +- [[_COMMUNITY_Community 88|Community 88]] +- [[_COMMUNITY_Community 89|Community 89]] +- [[_COMMUNITY_Community 91|Community 91]] +- [[_COMMUNITY_Community 92|Community 92]] +- [[_COMMUNITY_Community 93|Community 93]] +- [[_COMMUNITY_Community 94|Community 94]] +- [[_COMMUNITY_Community 95|Community 95]] +- [[_COMMUNITY_Community 96|Community 96]] +- [[_COMMUNITY_Community 97|Community 97]] +- [[_COMMUNITY_Community 98|Community 98]] +- [[_COMMUNITY_Community 100|Community 100]] +- [[_COMMUNITY_Community 101|Community 101]] +- [[_COMMUNITY_Community 102|Community 102]] +- [[_COMMUNITY_Community 103|Community 103]] +- [[_COMMUNITY_Community 105|Community 105]] +- [[_COMMUNITY_Community 106|Community 106]] +- [[_COMMUNITY_Community 108|Community 108]] +- [[_COMMUNITY_Community 114|Community 114]] +- [[_COMMUNITY_Community 115|Community 115]] +- [[_COMMUNITY_Community 126|Community 126]] + +## God Nodes (most connected - your core abstractions) +1. `LiquidGlass()` - 42 edges +2. `trpc` - 40 edges +3. `compilerOptions` - 19 edges +4. `MockInteraction` - 17 edges +5. `compilerOptions` - 16 edges +6. `compilerOptions` - 16 edges +7. `compilerOptions` - 16 edges +8. `LoadingScreen()` - 15 edges +9. `users` - 14 edges +10. `CacheService` - 13 edges + +## Surprising Connections (you probably didn't know these) +- `handler()` --calls--> `createContext()` [EXTRACTED] + sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts → packages/api/src/context.ts +- `POST()` --calls--> `rateLimit()` [EXTRACTED] + sites/mainweb/app/(portal)/api/auth/verify-email/route.ts → packages/api/src/middleware/security.ts +- `Guide` --references--> `GuideSections` [EXTRACTED] + sites/discordBot/src/commands/guide.ts → sites/discordBot/src/notion.ts + +## Import Cycles +- None detected. + +## Communities (134 total, 31 thin omitted) + +### Community 0 - "Community 0" +Cohesion: 0.06 +Nodes (17): Pie, PieTooltipItem, curriculum, Card(), CardProps, ClassData, MajorData, FooterProps (+9 more) + +### Community 1 - "Community 1" +Cohesion: 0.05 +Nodes (40): dependencies, chart.js, drizzle-orm, geist, lucide-react, @mawtech/glass-ui, minimatch, next (+32 more) + +### Community 2 - "Community 2" +Cohesion: 0.10 +Nodes (23): admins, adminsRelations, accounts, sessions, users, verificationTokens, eventCheckIns, eventCheckInsRelations (+15 more) + +### Community 3 - "Community 3" +Cohesion: 0.05 +Nodes (38): dependencies, drizzle-orm, image-size, minimatch, @query/auth, @query/db, sanitize-html, stripe (+30 more) + +### Community 4 - "Community 4" +Cohesion: 0.05 +Nodes (37): dependencies, @eslint/compat, eslint-config-prettier, @eslint/js, eslint-plugin-import, eslint-plugin-jsx-a11y, eslint-plugin-react, eslint-plugin-react-hooks (+29 more) + +### Community 5 - "Community 5" +Cohesion: 0.05 +Nodes (37): dependencies, babel-plugin-react-compiler, class-variance-authority, clsx, firebase, next, @radix-ui/react-slot, react (+29 more) + +### Community 6 - "Community 6" +Cohesion: 0.05 +Nodes (38): dependsOn, outputs, cache, cache, dependsOn, persistent, outputLogs, outputs (+30 more) + +### Community 7 - "Community 7" +Cohesion: 0.09 +Nodes (21): data, execute(), GuideSearchEngine, SearchableSection, searchEngine, SearchResult, SearchResultFormatter, SynonymExpander (+13 more) + +### Community 8 - "Community 8" +Cohesion: 0.06 +Nodes (36): default, dependencies, minimatch, react-dom, devDependencies, eslint, @next/eslint-plugin-next, @query/eslint-config (+28 more) + +### Community 9 - "Community 9" +Cohesion: 0.11 +Nodes (29): DIETARY_OPTIONS, GENDERS, LevelOfStudy, LEVELS_OF_STUDY, MAJORS, REGISTRATION_STEPS, SCHOOLS, SHIRT_SIZES (+21 more) + +### Community 10 - "Community 10" +Cohesion: 0.09 +Nodes (8): Background(), BackgroundProps, SidebarProps, LinkStripeAccountProps, LiquidGlass(), LiquidGlassProps, MemberData, MemberStatus + +### Community 11 - "Community 11" +Cohesion: 0.07 +Nodes (28): dependencies, @auth/drizzle-adapter, drizzle-orm, minimatch, next-auth, nodemailer, @query/db, devDependencies (+20 more) + +### Community 12 - "Community 12" +Cohesion: 0.09 +Nodes (19): Assertion, DDOS_CONFIG, ddosProtection(), flushLogs(), flushQueue, hasInjectionPattern(), IPRecord, ipTrackingStore (+11 more) + +### Community 13 - "Community 13" +Cohesion: 0.10 +Nodes (24): mockDelete, mockFindFirst, mockFindMany, mockInsert, mockUpdate, cache, RATE_LIMITS, Context (+16 more) + +### Community 14 - "Community 14" +Cohesion: 0.08 +Nodes (23): JudgeMatrixView(), JudgeMatrixViewProps, Project, Ranking, RankingsData, Vote, Hackathon, JudgingTools() (+15 more) + +### Community 15 - "Community 15" +Cohesion: 0.12 +Nodes (9): StatCardProps, HackathonStatus, STATUSES, toInputDate(), CreateHackathonForm(), EditHackathonForm(), HackathonCard(), trpc (+1 more) + +### Community 16 - "Community 16" +Cohesion: 0.07 +Nodes (27): dependencies, drizzle-orm, minimatch, next-auth, pg, postgres, @t3-oss/env-nextjs, zod (+19 more) + +### Community 17 - "Community 17" +Cohesion: 0.11 +Nodes (16): Event, Tab, ScannerTab(), EventFormData, EventFormModal(), EventFormModalProps, maxWidthClasses, ModalWrapper() (+8 more) + +### Community 18 - "Community 18" +Cohesion: 0.10 +Nodes (7): formatDate(), formatDateRange(), HackathonStatus, Tab, HackathonData, LoadingScreen(), LoadingScreenProps + +### Community 19 - "Community 19" +Cohesion: 0.10 +Nodes (10): AnalyticsTab(), AttendeesTab(), RegistrationStatus, emptyForm, EVENT_TYPES, EventFormData, EventsTab(), EventType (+2 more) + +### Community 20 - "Community 20" +Cohesion: 0.12 +Nodes (6): __dirname, edgeCases, __filename, MockInteraction, runSuite(), runTest() + +### Community 21 - "Community 21" +Cohesion: 0.09 +Nodes (21): author, dependencies, discord.js, dotenv, fuse.js, zod, description, devDependencies (+13 more) + +### Community 22 - "Community 22" +Cohesion: 0.09 +Nodes (22): devDependencies, autoprefixer, cross-env, eslint, @next/bundle-analyzer, @next/eslint-plugin-next, postcss, @query/eslint-config (+14 more) + +### Community 23 - "Community 23" +Cohesion: 0.09 +Nodes (21): compilerOptions, allowJs, checkJs, disableSourceOfProjectReferenceRedirect, esModuleInterop, incremental, isolatedModules, lib (+13 more) + +### Community 24 - "Community 24" +Cohesion: 0.10 +Nodes (20): compilerOptions, allowJs, esModuleInterop, forceConsistentCasingInFileNames, isolatedModules, jsx, lib, module (+12 more) + +### Community 25 - "Community 25" +Cohesion: 0.15 +Nodes (13): isAdmin, isSuperAdmin, auditRouter, eventRouter, helloRouter, greet, greetPublic, sayHello (+5 more) + +### Community 26 - "Community 26" +Cohesion: 0.15 +Nodes (16): adminRouter, hackathonRouter, teamRouter, hackathonEventAttendees, hackathonEventAttendeesRelations, hackathonEvents, hackathonEventsRelations, hackathonParticipants (+8 more) + +### Community 27 - "Community 27" +Cohesion: 0.10 +Nodes (19): compilerOptions, allowJs, esModuleInterop, incremental, isolatedModules, jsx, lib, module (+11 more) + +### Community 28 - "Community 28" +Cohesion: 0.10 +Nodes (19): dependencies, @ianvs/prettier-plugin-sort-imports, minimatch, prettier, prettier-plugin-tailwindcss, devDependencies, @query/tsconfig, typescript (+11 more) + +### Community 29 - "Community 29" +Cohesion: 0.11 +Nodes (18): compilerOptions, allowSyntheticDefaultImports, declaration, esModuleInterop, forceConsistentCasingInFileNames, module, moduleResolution, noImplicitAny (+10 more) + +### Community 30 - "Community 30" +Cohesion: 0.16 +Nodes (14): buildCoverageQueues(), shuffleArray(), hackathonMaps, hackathonMapsRelations, judgeAssignments, judgeAssignmentsRelations, judgeQueue, judgeQueueRelations (+6 more) + +### Community 31 - "Community 31" +Cohesion: 0.17 +Nodes (6): ClearCommandExecutor, ClearCommandValidator, ClearResult, data, MessageCleaner, PermissionValidator + +### Community 32 - "Community 32" +Cohesion: 0.20 +Nodes (13): ProjectsTab(), ScheduleTab(), TeamsTab(), formatDate(), formatDateRange(), HackathonDetailPage(), statusConfig(), TabType (+5 more) + +### Community 33 - "Community 33" +Cohesion: 0.11 +Nodes (17): dependencies, minimatch, next, postcss, react, react-dom, tailwindcss, @tailwindcss/postcss (+9 more) + +### Community 34 - "Community 34" +Cohesion: 0.15 +Nodes (11): CreateHackathonStep(), CreateHackathonStepProps, Hackathon, ImportJudgesStep(), ImportProjectsStep(), ParsedJudge, ParsedProject, ParsedJudge (+3 more) + +### Community 35 - "Community 35" +Cohesion: 0.12 +Nodes (16): outputs, dependsOn, outputs, cache, persistent, cache, persistent, with (+8 more) + +### Community 36 - "Community 36" +Cohesion: 0.13 +Nodes (14): compilerOptions, esModuleInterop, forceConsistentCasingInFileNames, lib, module, moduleResolution, outDir, paths (+6 more) + +### Community 37 - "Community 37" +Cohesion: 0.16 +Nodes (7): COLORS, DRIFT_CLASSES, FlowerInstance, FlowerRenderer, FlowerVine(), generateFlowers(), seededRandom() + +### Community 38 - "Community 38" +Cohesion: 0.19 +Nodes (10): CacheEntry, CacheKeys, CacheStats, invalidateEvents(), invalidateHackathons(), invalidateUser(), isJudge, userRouter (+2 more) + +### Community 39 - "Community 39" +Cohesion: 0.27 +Nodes (3): config, restrictEnvAccess, config + +### Community 40 - "Community 40" +Cohesion: 0.29 +Nodes (7): adapter, { handlers, auth, signIn, signOut }, authConfig, sendAcceptanceEmail(), getCurrentUserId(), getSession(), requireAuth() + +### Community 41 - "Community 41" +Cohesion: 0.22 +Nodes (4): Bot, BotCommand, __dirname, __filename + +### Community 42 - "Community 42" +Cohesion: 0.15 +Nodes (12): compilerOptions, emitDeclarationOnly, jsx, lib, module, outDir, rootDir, skipLibCheck (+4 more) + +### Community 43 - "Community 43" +Cohesion: 0.20 +Nodes (6): robotoMono, spaceGrotesk, Footer(), navItems, ServiceWorkerRegistrar(), metadata + +### Community 44 - "Community 44" +Cohesion: 0.17 +Nodes (11): aliases, components, utils, rsc, $schema, style, tailwind, baseColor (+3 more) + +### Community 46 - "Community 46" +Cohesion: 0.18 +Nodes (10): cache, dependsOn, outputs, cache, persistent, extends, $schema, tasks (+2 more) + +### Community 47 - "Community 47" +Cohesion: 0.27 +Nodes (10): applySecurityHeaders(), CacheHeaders, getCacheHeaders(), getClientIp(), getRateLimitHeaders(), getRequestFingerprint(), getSecurityHeaders(), RateLimitHeaders (+2 more) + +### Community 48 - "Community 48" +Cohesion: 0.18 +Nodes (7): memberRouter, nameSchema, phoneSchema, urlSchema, membershipHistory, DrizzleDB, globalForDb + +### Community 51 - "Community 51" +Cohesion: 0.20 +Nodes (9): dependencies, next, typescript, engines, node, name, packageManager, private (+1 more) + +### Community 52 - "Community 52" +Cohesion: 0.20 +Nodes (9): compilerOptions, esModuleInterop, forceConsistentCasingInFileNames, moduleResolution, skipLibCheck, strict, exclude, extends (+1 more) + +### Community 54 - "Community 54" +Cohesion: 0.22 +Nodes (8): compilerOptions, lib, moduleResolution, paths, exclude, extends, include, @/* + +### Community 55 - "Community 55" +Cohesion: 0.22 +Nodes (8): 1. Prerequisites, 2. Authentication, 3. Syncing Secrets, 4. Running the App, 5. Troubleshooting, GCP Backend Setup Guide, Missing Secrets, Permission Denied + +### Community 56 - "Community 56" +Cohesion: 0.42 +Nodes (8): config, getCacheControl(), getETag(), getLastModified(), handleETag(), handleLastModified(), proxy(), securityHeaders + +### Community 57 - "Community 57" +Cohesion: 0.22 +Nodes (8): turbo, devDependencies, turbo, vitest, globalEnv, globalPassThroughEnv, $schema, ui + +### Community 58 - "Community 58" +Cohesion: 0.42 +Nodes (8): config, getCacheControl(), getETag(), getLastModified(), handleETag(), handleLastModified(), proxy(), securityHeaders + +### Community 59 - "Community 59" +Cohesion: 0.28 +Nodes (3): PortalSidebarProps, PortalWrapper(), Providers() + +### Community 60 - "Community 60" +Cohesion: 0.28 +Nodes (4): Member, ProfileFormProps, SkillsInterestsInput(), SkillsInterestsInputProps + +### Community 61 - "Community 61" +Cohesion: 0.22 +Nodes (8): compilerOptions, declaration, declarationMap, emitDeclarationOnly, noEmit, outDir, extends, $schema + +### Community 62 - "Community 62" +Cohesion: 0.25 +Nodes (7): background_color, display, icons, name, short_name, start_url, theme_color + +### Community 63 - "Community 63" +Cohesion: 0.25 +Nodes (7): dependencies, minimatch, exports, files, name, private, version + +### Community 64 - "Community 64" +Cohesion: 0.29 +Nodes (6): compilerOptions, outDir, rootDir, exclude, extends, include + +### Community 65 - "Community 65" +Cohesion: 0.43 +Nodes (3): data, EventScheduler, execute() + +### Community 66 - "Community 66" +Cohesion: 0.29 +Nodes (6): exports, main, name, private, types, version + +### Community 67 - "Community 67" +Cohesion: 0.29 +Nodes (7): scripts, build, dev, format, lint, test, typecheck + +### Community 69 - "Community 69" +Cohesion: 0.38 +Nodes (4): categories, DaySchedule, scheduleData, ScheduleEvent + +### Community 70 - "Community 70" +Cohesion: 0.33 +Nodes (3): BLOCKED_ROLES, data, roleEmojis + +### Community 72 - "Community 72" +Cohesion: 0.33 +Nodes (5): outputs, extends, $schema, tasks, build + +### Community 73 - "Community 73" +Cohesion: 0.40 +Nodes (4): cn(), Button, ButtonProps, buttonVariants + +### Community 74 - "Community 74" +Cohesion: 0.33 +Nodes (6): esbuild, @eslint/plugin-kit, postcss, ws, pnpm, overrides + +### Community 75 - "Community 75" +Cohesion: 0.33 +Nodes (4): actionVariantClasses, StatusScreenProps, StatusVariant, variantConfig + +### Community 77 - "Community 77" +Cohesion: 0.33 +Nodes (4): bronzeSponsors, goldSponsors, miniSponsors, silverSponsors + +### Community 80 - "Community 80" +Cohesion: 0.40 +Nodes (3): fs, packagesToRestore, path + +### Community 81 - "Community 81" +Cohesion: 0.40 +Nodes (4): compilerOptions, types, extends, $schema + +### Community 84 - "Community 84" +Cohesion: 0.50 +Nodes (3): Deploy on Vercel, Getting Started, Learn More + +### Community 86 - "Community 86" +Cohesion: 0.50 +Nodes (3): __dirname, __filename, nextConfig + +### Community 87 - "Community 87" +Cohesion: 0.50 +Nodes (3): Deploy on Vercel, Getting Started, Learn More + +## Knowledge Gaps +- **743 isolated node(s):** `name`, `private`, `version`, `packageManager`, `node` (+738 more) + These have ≤1 connection - possible missing edges or undocumented components. +- **31 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + +## Suggested Questions +_Questions this graph is uniquely positioned to answer:_ + +- **Why does `AppRouter` connect `Community 13` to `Community 25`, `Community 15`?** + _High betweenness centrality (0.043) - this node is a cross-community bridge._ +- **Why does `CacheService` connect `Community 45` to `Community 38`?** + _High betweenness centrality (0.008) - this node is a cross-community bridge._ +- **What connects `name`, `private`, `version` to the rest of the system?** + _743 weakly-connected nodes found - possible documentation gaps or missing edges._ +- **Should `Community 0` be split into smaller, more focused modules?** + _Cohesion score 0.061979648473635525 - nodes in this community are weakly interconnected._ +- **Should `Community 1` be split into smaller, more focused modules?** + _Cohesion score 0.04878048780487805 - nodes in this community are weakly interconnected._ +- **Should `Community 2` be split into smaller, more focused modules?** + _Cohesion score 0.09871794871794871 - nodes in this community are weakly interconnected._ +- **Should `Community 3` be split into smaller, more focused modules?** + _Cohesion score 0.05128205128205128 - nodes in this community are weakly interconnected._ \ No newline at end of file diff --git a/graphify-out/graph.json b/graphify-out/graph.json new file mode 100644 index 00000000..d7cc90ec --- /dev/null +++ b/graphify-out/graph.json @@ -0,0 +1,36065 @@ +{ + "directed": false, + "multigraph": false, + "graph": {}, + "nodes": [ + { + "label": "package.json", + "file_type": "code", + "source_file": "package.json", + "source_location": "L1", + "_origin": "ast", + "id": "package", + "community": 51, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "package.json", + "source_location": "L2", + "_origin": "ast", + "id": "package_name", + "community": 51, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "package.json", + "source_location": "L3", + "_origin": "ast", + "id": "package_private", + "community": 51, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "package.json", + "source_location": "L4", + "_origin": "ast", + "id": "package_version", + "community": 51, + "norm_label": "version" + }, + { + "label": "packageManager", + "file_type": "code", + "source_file": "package.json", + "source_location": "L5", + "_origin": "ast", + "id": "package_packagemanager", + "community": 51, + "norm_label": "packagemanager" + }, + { + "label": "engines", + "file_type": "code", + "source_file": "package.json", + "source_location": "L6", + "_origin": "ast", + "id": "package_engines", + "community": 51, + "norm_label": "engines" + }, + { + "label": "node", + "file_type": "code", + "source_file": "package.json", + "source_location": "L7", + "_origin": "ast", + "id": "package_engines_node", + "community": 51, + "norm_label": "node" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "package.json", + "source_location": "L9", + "_origin": "ast", + "id": "package_scripts", + "community": 67, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "package.json", + "source_location": "L10", + "_origin": "ast", + "id": "package_scripts_dev", + "community": 67, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "package.json", + "source_location": "L11", + "_origin": "ast", + "id": "package_scripts_build", + "community": 67, + "norm_label": "build" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "package.json", + "source_location": "L12", + "_origin": "ast", + "id": "package_scripts_lint", + "community": 67, + "norm_label": "lint" + }, + { + "label": "format", + "file_type": "code", + "source_file": "package.json", + "source_location": "L13", + "_origin": "ast", + "id": "package_scripts_format", + "community": 67, + "norm_label": "format" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "package.json", + "source_location": "L14", + "_origin": "ast", + "id": "package_scripts_typecheck", + "community": 67, + "norm_label": "typecheck" + }, + { + "label": "test", + "file_type": "code", + "source_file": "package.json", + "source_location": "L15", + "_origin": "ast", + "id": "package_scripts_test", + "community": 67, + "norm_label": "test" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L17", + "_origin": "ast", + "id": "package_dependencies", + "community": 51, + "norm_label": "dependencies" + }, + { + "label": "next", + "file_type": "code", + "source_file": "package.json", + "source_location": "L18", + "_origin": "ast", + "id": "package_dependencies_next", + "community": 51, + "norm_label": "next" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "package.json", + "source_location": "L19", + "_origin": "ast", + "id": "package_dependencies_typescript", + "community": 51, + "norm_label": "typescript" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "package.json", + "source_location": "L21", + "_origin": "ast", + "id": "package_devdependencies", + "community": 57, + "norm_label": "devdependencies" + }, + { + "label": "turbo", + "file_type": "code", + "source_file": "package.json", + "source_location": "L22", + "_origin": "ast", + "id": "package_devdependencies_turbo", + "community": 57, + "norm_label": "turbo" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "package.json", + "source_location": "L23", + "_origin": "ast", + "id": "package_devdependencies_vitest", + "community": 57, + "norm_label": "vitest" + }, + { + "label": "pnpm", + "file_type": "code", + "source_file": "package.json", + "source_location": "L25", + "_origin": "ast", + "id": "package_pnpm", + "community": 74, + "norm_label": "pnpm" + }, + { + "label": "overrides", + "file_type": "code", + "source_file": "package.json", + "source_location": "L26", + "_origin": "ast", + "id": "package_pnpm_overrides", + "community": 74, + "norm_label": "overrides" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "package.json", + "source_location": "L27", + "_origin": "ast", + "id": "package_overrides_postcss", + "community": 74, + "norm_label": "postcss" + }, + { + "label": "esbuild", + "file_type": "code", + "source_file": "package.json", + "source_location": "L28", + "_origin": "ast", + "id": "package_overrides_esbuild", + "community": 74, + "norm_label": "esbuild" + }, + { + "label": "ws", + "file_type": "code", + "source_file": "package.json", + "source_location": "L29", + "_origin": "ast", + "id": "package_overrides_ws", + "community": 74, + "norm_label": "ws" + }, + { + "label": "@eslint/plugin-kit", + "file_type": "code", + "source_file": "package.json", + "source_location": "L30", + "_origin": "ast", + "id": "package_overrides_eslint_plugin_kit", + "community": 74, + "norm_label": "@eslint/plugin-kit" + }, + { + "label": "eslint.config.js", + "file_type": "code", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_eslint_config_js_api_eslint_config", + "community": 39, + "norm_label": "eslint.config.js" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_eslint_config_mjs_api_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "api_package", + "community": 3, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "api_package_name", + "community": 3, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "api_package_version", + "community": 3, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "api_package_private", + "community": 3, + "norm_label": "private" + }, + { + "label": "type", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "api_package_type", + "community": 3, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "api_package_exports", + "community": 3, + "norm_label": "exports" + }, + { + "label": "./client", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "api_package_exports_client", + "community": 3, + "norm_label": "./client" + }, + { + "label": "./trpc-server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "api_package_exports_trpc_server", + "community": 3, + "norm_label": "./trpc-server" + }, + { + "label": "./server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "api_package_exports_server", + "community": 3, + "norm_label": "./server" + }, + { + "label": "./context", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "api_package_exports_context", + "community": 3, + "norm_label": "./context" + }, + { + "label": "./middleware", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "api_package_exports_middleware", + "community": 3, + "norm_label": "./middleware" + }, + { + "label": "./middleware/cache", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "api_package_exports_middleware_cache", + "community": 3, + "norm_label": "./middleware/cache" + }, + { + "label": "./middleware/http-security", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "api_package_exports_middleware_http_security", + "community": 3, + "norm_label": "./middleware/http-security" + }, + { + "label": "./middleware/security", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "api_package_exports_middleware_security", + "community": 3, + "norm_label": "./middleware/security" + }, + { + "label": "./trpc", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "api_package_exports_trpc", + "community": 3, + "norm_label": "./trpc" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "api_package_scripts", + "community": 3, + "norm_label": "scripts" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "api_package_scripts_lint", + "community": 3, + "norm_label": "lint" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "api_package_scripts_typecheck", + "community": 3, + "norm_label": "typecheck" + }, + { + "label": "test", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "api_package_scripts_test", + "community": 3, + "norm_label": "test" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "api_package_dependencies", + "community": 3, + "norm_label": "dependencies" + }, + { + "label": "@query/auth", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "api_package_dependencies_query_auth", + "community": 3, + "norm_label": "@query/auth" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "api_package_dependencies_query_db", + "community": 3, + "norm_label": "@query/db" + }, + { + "label": "@tanstack/react-query", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "api_package_dependencies_tanstack_react_query", + "community": 3, + "norm_label": "@tanstack/react-query" + }, + { + "label": "@trpc/client", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "api_package_dependencies_trpc_client", + "community": 3, + "norm_label": "@trpc/client" + }, + { + "label": "@trpc/next", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "api_package_dependencies_trpc_next", + "community": 3, + "norm_label": "@trpc/next" + }, + { + "label": "@trpc/react-query", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "api_package_dependencies_trpc_react_query", + "community": 3, + "norm_label": "@trpc/react-query" + }, + { + "label": "@trpc/server", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "api_package_dependencies_trpc_server", + "community": 3, + "norm_label": "@trpc/server" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "api_package_dependencies_drizzle_orm", + "community": 3, + "norm_label": "drizzle-orm" + }, + { + "label": "image-size", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "api_package_dependencies_image_size", + "community": 3, + "norm_label": "image-size" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "api_package_dependencies_minimatch", + "community": 3, + "norm_label": "minimatch" + }, + { + "label": "sanitize-html", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "api_package_dependencies_sanitize_html", + "community": 3, + "norm_label": "sanitize-html" + }, + { + "label": "stripe", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "api_package_dependencies_stripe", + "community": 3, + "norm_label": "stripe" + }, + { + "label": "superjson", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "api_package_dependencies_superjson", + "community": 3, + "norm_label": "superjson" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "api_package_dependencies_zod", + "community": 3, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "api_package_devdependencies", + "community": 3, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "api_package_devdependencies_query_tsconfig", + "community": 3, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/sanitize-html", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "api_package_devdependencies_types_sanitize_html", + "community": 3, + "norm_label": "@types/sanitize-html" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "api_package_devdependencies_typescript", + "community": 3, + "norm_label": "typescript" + }, + { + "label": "vitest", + "file_type": "code", + "source_file": "packages/api/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "api_package_devdependencies_vitest", + "community": 3, + "norm_label": "vitest" + }, + { + "label": "resilience.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_resilience_test", + "community": 12, + "norm_label": "resilience.test.ts" + }, + { + "label": "Assertion", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L215", + "_origin": "ast", + "id": "internal_tests_resilience_test_assertion", + "community": 12, + "norm_label": "assertion" + }, + { + "label": "toBeBetween()", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L221", + "_origin": "ast", + "id": "internal_tests_resilience_test_tobebetween", + "community": 12, + "norm_label": "tobebetween()" + }, + { + "label": "routers.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_routers_test", + "community": 13, + "norm_label": "routers.test.ts" + }, + { + "label": "mockFindFirst", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L10", + "_origin": "ast", + "id": "internal_tests_routers_test_mockfindfirst", + "community": 13, + "norm_label": "mockfindfirst" + }, + { + "label": "mockFindMany", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L11", + "_origin": "ast", + "id": "internal_tests_routers_test_mockfindmany", + "community": 13, + "norm_label": "mockfindmany" + }, + { + "label": "mockInsert", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L12", + "_origin": "ast", + "id": "internal_tests_routers_test_mockinsert", + "community": 13, + "norm_label": "mockinsert" + }, + { + "label": "mockUpdate", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L13", + "_origin": "ast", + "id": "internal_tests_routers_test_mockupdate", + "community": 13, + "norm_label": "mockupdate" + }, + { + "label": "mockDelete", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L14", + "_origin": "ast", + "id": "internal_tests_routers_test_mockdelete", + "community": 13, + "norm_label": "mockdelete" + }, + { + "label": "security.test.ts", + "file_type": "code", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L1", + "_origin": "ast", + "id": "internal_tests_security_test", + "community": 12, + "norm_label": "security.test.ts" + }, + { + "label": "context.ts", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_context", + "community": 13, + "norm_label": "context.ts" + }, + { + "label": "Session", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L5", + "_origin": "ast", + "id": "src_context_session", + "community": 13, + "norm_label": "session" + }, + { + "label": "getAuth()", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L17", + "_origin": "ast", + "id": "src_context_getauth", + "community": 13, + "norm_label": "getauth()" + }, + { + "label": "createContext()", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L29", + "_origin": "ast", + "id": "src_context_createcontext", + "community": 13, + "norm_label": "createcontext()" + }, + { + "label": "Context", + "file_type": "code", + "source_file": "packages/api/src/context.ts", + "source_location": "L63", + "_origin": "ast", + "id": "src_context_context", + "community": 13, + "norm_label": "context" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_api_src_index_ts_src_index", + "community": 13, + "norm_label": "index.ts" + }, + { + "label": "cache.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_cache", + "community": 38, + "norm_label": "cache.ts" + }, + { + "label": "CacheEntry", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L6", + "_origin": "ast", + "id": "middleware_cache_cacheentry", + "community": 38, + "norm_label": "cacheentry" + }, + { + "label": "CacheStats", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L11", + "_origin": "ast", + "id": "middleware_cache_cachestats", + "community": 38, + "norm_label": "cachestats" + }, + { + "label": "CacheService", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L17", + "_origin": "ast", + "id": "middleware_cache_cacheservice", + "community": 45, + "norm_label": "cacheservice" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L23", + "_origin": "ast", + "id": "middleware_cache_cacheservice_constructor", + "community": 45, + "norm_label": ".constructor()" + }, + { + "label": ".get()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L37", + "_origin": "ast", + "id": "middleware_cache_cacheservice_get", + "community": 45, + "norm_label": ".get()" + }, + { + "label": ".set()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L59", + "_origin": "ast", + "id": "middleware_cache_cacheservice_set", + "community": 45, + "norm_label": ".set()" + }, + { + "label": ".delete()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L68", + "_origin": "ast", + "id": "middleware_cache_cacheservice_delete", + "community": 45, + "norm_label": ".delete()" + }, + { + "label": ".deletePattern()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L77", + "_origin": "ast", + "id": "middleware_cache_cacheservice_deletepattern", + "community": 38, + "norm_label": ".deletepattern()" + }, + { + "label": ".clear()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L97", + "_origin": "ast", + "id": "middleware_cache_cacheservice_clear", + "community": 45, + "norm_label": ".clear()" + }, + { + "label": ".getStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L105", + "_origin": "ast", + "id": "middleware_cache_cacheservice_getstats", + "community": 45, + "norm_label": ".getstats()" + }, + { + "label": ".has()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L112", + "_origin": "ast", + "id": "middleware_cache_cacheservice_has", + "community": 45, + "norm_label": ".has()" + }, + { + "label": ".getOrSet()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L119", + "_origin": "ast", + "id": "middleware_cache_cacheservice_getorset", + "community": 45, + "norm_label": ".getorset()" + }, + { + "label": ".cleanup()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L137", + "_origin": "ast", + "id": "middleware_cache_cacheservice_cleanup", + "community": 45, + "norm_label": ".cleanup()" + }, + { + "label": ".destroy()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L193", + "_origin": "ast", + "id": "middleware_cache_cacheservice_destroy", + "community": 45, + "norm_label": ".destroy()" + }, + { + "label": ".exportStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L208", + "_origin": "ast", + "id": "middleware_cache_cacheservice_exportstats", + "community": 45, + "norm_label": ".exportstats()" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L214", + "_origin": "ast", + "id": "middleware_cache_cache", + "community": 13, + "norm_label": "cache" + }, + { + "label": "CacheKeys", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L223", + "_origin": "ast", + "id": "middleware_cache_cachekeys", + "community": 38, + "norm_label": "cachekeys" + }, + { + "label": "invalidateUser()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L236", + "_origin": "ast", + "id": "middleware_cache_invalidateuser", + "community": 38, + "norm_label": "invalidateuser()" + }, + { + "label": "invalidateHackathons()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L240", + "_origin": "ast", + "id": "middleware_cache_invalidatehackathons", + "community": 38, + "norm_label": "invalidatehackathons()" + }, + { + "label": "invalidateEvents()", + "file_type": "code", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L244", + "_origin": "ast", + "id": "middleware_cache_invalidateevents", + "community": 38, + "norm_label": "invalidateevents()" + }, + { + "label": "http-security.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_http_security", + "community": 47, + "norm_label": "http-security.ts" + }, + { + "label": "SecurityHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L6", + "_origin": "ast", + "id": "middleware_http_security_securityheaders", + "community": 47, + "norm_label": "securityheaders" + }, + { + "label": "CacheHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L17", + "_origin": "ast", + "id": "middleware_http_security_cacheheaders", + "community": 47, + "norm_label": "cacheheaders" + }, + { + "label": "RateLimitHeaders", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L22", + "_origin": "ast", + "id": "middleware_http_security_ratelimitheaders", + "community": 47, + "norm_label": "ratelimitheaders" + }, + { + "label": "getSecurityHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L32", + "_origin": "ast", + "id": "middleware_http_security_getsecurityheaders", + "community": 47, + "norm_label": "getsecurityheaders()" + }, + { + "label": "getCacheHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L69", + "_origin": "ast", + "id": "middleware_http_security_getcacheheaders", + "community": 47, + "norm_label": "getcacheheaders()" + }, + { + "label": "getRateLimitHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L104", + "_origin": "ast", + "id": "middleware_http_security_getratelimitheaders", + "community": 47, + "norm_label": "getratelimitheaders()" + }, + { + "label": "getClientIp()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L126", + "_origin": "ast", + "id": "middleware_http_security_getclientip", + "community": 47, + "norm_label": "getclientip()" + }, + { + "label": "getRequestFingerprint()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L148", + "_origin": "ast", + "id": "middleware_http_security_getrequestfingerprint", + "community": 47, + "norm_label": "getrequestfingerprint()" + }, + { + "label": "simpleHash()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L168", + "_origin": "ast", + "id": "middleware_http_security_simplehash", + "community": 47, + "norm_label": "simplehash()" + }, + { + "label": "applySecurityHeaders()", + "file_type": "code", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L181", + "_origin": "ast", + "id": "middleware_http_security_applysecurityheaders", + "community": 47, + "norm_label": "applysecurityheaders()" + }, + { + "label": "procedures.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_procedures", + "community": 38, + "norm_label": "procedures.ts" + }, + { + "label": "isAdmin", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L11", + "_origin": "ast", + "id": "middleware_procedures_isadmin", + "community": 25, + "norm_label": "isadmin" + }, + { + "label": "isSuperAdmin", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L42", + "_origin": "ast", + "id": "middleware_procedures_issuperadmin", + "community": 25, + "norm_label": "issuperadmin" + }, + { + "label": "isJudge", + "file_type": "code", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L56", + "_origin": "ast", + "id": "middleware_procedures_isjudge", + "community": 38, + "norm_label": "isjudge" + }, + { + "label": "security.ts", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "middleware_security", + "community": 12, + "norm_label": "security.ts" + }, + { + "label": "RateLimitRecord", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L4", + "_origin": "ast", + "id": "middleware_security_ratelimitrecord", + "community": 12, + "norm_label": "ratelimitrecord" + }, + { + "label": "rateLimitStore", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L14", + "_origin": "ast", + "id": "middleware_security_ratelimitstore", + "community": 12, + "norm_label": "ratelimitstore" + }, + { + "label": "IPRecord", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L16", + "_origin": "ast", + "id": "middleware_security_iprecord", + "community": 12, + "norm_label": "iprecord" + }, + { + "label": "ipTrackingStore", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L24", + "_origin": "ast", + "id": "middleware_security_iptrackingstore", + "community": 12, + "norm_label": "iptrackingstore" + }, + { + "label": "enforceSizeLimit()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L26", + "_origin": "ast", + "id": "middleware_security_enforcesizelimit", + "community": 12, + "norm_label": "enforcesizelimit()" + }, + { + "label": "DDOS_CONFIG", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L84", + "_origin": "ast", + "id": "middleware_security_ddos_config", + "community": 12, + "norm_label": "ddos_config" + }, + { + "label": "rateLimit()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L118", + "_origin": "ast", + "id": "middleware_security_ratelimit", + "community": 12, + "norm_label": "ratelimit()" + }, + { + "label": "RATE_LIMITS", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L169", + "_origin": "ast", + "id": "middleware_security_rate_limits", + "community": 13, + "norm_label": "rate_limits" + }, + { + "label": "SANITIZE_OPTIONS", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L196", + "_origin": "ast", + "id": "middleware_security_sanitize_options", + "community": 12, + "norm_label": "sanitize_options" + }, + { + "label": "sanitizeInput()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L203", + "_origin": "ast", + "id": "middleware_security_sanitizeinput", + "community": 12, + "norm_label": "sanitizeinput()" + }, + { + "label": "hasInjectionPattern()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L282", + "_origin": "ast", + "id": "middleware_security_hasinjectionpattern", + "community": 12, + "norm_label": "hasinjectionpattern()" + }, + { + "label": "validateEmail()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L302", + "_origin": "ast", + "id": "middleware_security_validateemail", + "community": 12, + "norm_label": "validateemail()" + }, + { + "label": "validateUrl()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L309", + "_origin": "ast", + "id": "middleware_security_validateurl", + "community": 12, + "norm_label": "validateurl()" + }, + { + "label": "validateUUID()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L319", + "_origin": "ast", + "id": "middleware_security_validateuuid", + "community": 12, + "norm_label": "validateuuid()" + }, + { + "label": "SecurityEvent", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L326", + "_origin": "ast", + "id": "middleware_security_securityevent", + "community": 12, + "norm_label": "securityevent" + }, + { + "label": "securityLog", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L337", + "_origin": "ast", + "id": "middleware_security_securitylog", + "community": 12, + "norm_label": "securitylog" + }, + { + "label": "flushQueue", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L342", + "_origin": "ast", + "id": "middleware_security_flushqueue", + "community": 12, + "norm_label": "flushqueue" + }, + { + "label": "rateLimitLogCooldown", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L349", + "_origin": "ast", + "id": "middleware_security_ratelimitlogcooldown", + "community": 12, + "norm_label": "ratelimitlogcooldown" + }, + { + "label": "flushLogs()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L352", + "_origin": "ast", + "id": "middleware_security_flushlogs", + "community": 12, + "norm_label": "flushlogs()" + }, + { + "label": "logSecurityEvent()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L454", + "_origin": "ast", + "id": "middleware_security_logsecurityevent", + "community": 12, + "norm_label": "logsecurityevent()" + }, + { + "label": "getRecentSecurityEvents()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L497", + "_origin": "ast", + "id": "middleware_security_getrecentsecurityevents", + "community": 12, + "norm_label": "getrecentsecurityevents()" + }, + { + "label": "ddosProtection()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L502", + "_origin": "ast", + "id": "middleware_security_ddosprotection", + "community": 12, + "norm_label": "ddosprotection()" + }, + { + "label": "validateRequestSize()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L591", + "_origin": "ast", + "id": "middleware_security_validaterequestsize", + "community": 12, + "norm_label": "validaterequestsize()" + }, + { + "label": "getDdosStats()", + "file_type": "code", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L603", + "_origin": "ast", + "id": "middleware_security_getddosstats", + "community": 12, + "norm_label": "getddosstats()" + }, + { + "label": "root.ts", + "file_type": "code", + "source_file": "packages/api/src/root.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_root", + "community": 25, + "norm_label": "root.ts" + }, + { + "label": "AppRouter", + "file_type": "code", + "source_file": "packages/api/src/root.ts", + "source_location": "L28", + "_origin": "ast", + "id": "src_root_approuter", + "community": 13, + "norm_label": "approuter" + }, + { + "label": "admin.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_admin", + "community": 26, + "norm_label": "admin.ts" + }, + { + "label": "adminRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L17", + "_origin": "ast", + "id": "routers_admin_adminrouter", + "community": 26, + "norm_label": "adminrouter" + }, + { + "label": "audit.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_audit", + "community": 25, + "norm_label": "audit.ts" + }, + { + "label": "auditRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L7", + "_origin": "ast", + "id": "routers_audit_auditrouter", + "community": 25, + "norm_label": "auditrouter" + }, + { + "label": "events.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_events", + "community": 25, + "norm_label": "events.ts" + }, + { + "label": "eventRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L9", + "_origin": "ast", + "id": "routers_events_eventrouter", + "community": 25, + "norm_label": "eventrouter" + }, + { + "label": "hackathon.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hackathon", + "community": 26, + "norm_label": "hackathon.ts" + }, + { + "label": "hackathonRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_hackathon_hackathonrouter", + "community": 26, + "norm_label": "hackathonrouter" + }, + { + "label": "hello-procedures.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hello_procedures", + "community": 25, + "norm_label": "hello-procedures.ts" + }, + { + "label": "sayHello", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L4", + "_origin": "ast", + "id": "routers_hello_procedures_sayhello", + "community": 25, + "norm_label": "sayhello" + }, + { + "label": "greetPublic", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L11", + "_origin": "ast", + "id": "routers_hello_procedures_greetpublic", + "community": 25, + "norm_label": "greetpublic" + }, + { + "label": "sayHelloAuth", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_hello_procedures_sayhelloauth", + "community": 25, + "norm_label": "sayhelloauth" + }, + { + "label": "greet", + "file_type": "code", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L32", + "_origin": "ast", + "id": "routers_hello_procedures_greet", + "community": 25, + "norm_label": "greet" + }, + { + "label": "hello.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_hello", + "community": 25, + "norm_label": "hello.ts" + }, + { + "label": "helloRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L4", + "_origin": "ast", + "id": "routers_hello_hellorouter", + "community": 25, + "norm_label": "hellorouter" + }, + { + "label": "judge.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_judge", + "community": 30, + "norm_label": "judge.ts" + }, + { + "label": "shuffleArray()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L20", + "_origin": "ast", + "id": "routers_judge_shufflearray", + "community": 30, + "norm_label": "shufflearray()" + }, + { + "label": "zNormalize()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L36", + "_origin": "ast", + "id": "routers_judge_znormalize", + "community": 30, + "norm_label": "znormalize()" + }, + { + "label": "buildCoverageQueues()", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L55", + "_origin": "ast", + "id": "routers_judge_buildcoveragequeues", + "community": 30, + "norm_label": "buildcoveragequeues()" + }, + { + "label": "judgeRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L156", + "_origin": "ast", + "id": "routers_judge_judgerouter", + "community": 25, + "norm_label": "judgerouter" + }, + { + "label": "member.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_member", + "community": 48, + "norm_label": "member.ts" + }, + { + "label": "nameSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L8", + "_origin": "ast", + "id": "routers_member_nameschema", + "community": 48, + "norm_label": "nameschema" + }, + { + "label": "urlSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L13", + "_origin": "ast", + "id": "routers_member_urlschema", + "community": 48, + "norm_label": "urlschema" + }, + { + "label": "phoneSchema", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L14", + "_origin": "ast", + "id": "routers_member_phoneschema", + "community": 48, + "norm_label": "phoneschema" + }, + { + "label": "memberRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L19", + "_origin": "ast", + "id": "routers_member_memberrouter", + "community": 48, + "norm_label": "memberrouter" + }, + { + "label": "settings.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_settings", + "community": 25, + "norm_label": "settings.ts" + }, + { + "label": "settingsRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L8", + "_origin": "ast", + "id": "routers_settings_settingsrouter", + "community": 25, + "norm_label": "settingsrouter" + }, + { + "label": "stripe.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_stripe", + "community": 25, + "norm_label": "stripe.ts" + }, + { + "label": "stripeRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L14", + "_origin": "ast", + "id": "routers_stripe_striperouter", + "community": 25, + "norm_label": "striperouter" + }, + { + "label": "createOrUpdateMembership()", + "file_type": "code", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L289", + "_origin": "ast", + "id": "routers_stripe_createorupdatemembership", + "community": 25, + "norm_label": "createorupdatemembership()" + }, + { + "label": "team.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_team", + "community": 26, + "norm_label": "team.ts" + }, + { + "label": "checkTeamEditWindow()", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L13", + "_origin": "ast", + "id": "routers_team_checkteameditwindow", + "community": 26, + "norm_label": "checkteameditwindow()" + }, + { + "label": "teamRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L40", + "_origin": "ast", + "id": "routers_team_teamrouter", + "community": 26, + "norm_label": "teamrouter" + }, + { + "label": "user.ts", + "file_type": "code", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L1", + "_origin": "ast", + "id": "routers_user", + "community": 38, + "norm_label": "user.ts" + }, + { + "label": "userRouter", + "file_type": "code", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L9", + "_origin": "ast", + "id": "routers_user_userrouter", + "community": 38, + "norm_label": "userrouter" + }, + { + "label": "trpc.ts", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_trpc", + "community": 13, + "norm_label": "trpc.ts" + }, + { + "label": "errorFormatter()", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L15", + "_origin": "ast", + "id": "src_trpc_errorformatter", + "community": 13, + "norm_label": "errorformatter()" + }, + { + "label": "t", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L37", + "_origin": "ast", + "id": "src_trpc_t", + "community": 13, + "norm_label": "t" + }, + { + "label": "requiresDb", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L44", + "_origin": "ast", + "id": "src_trpc_requiresdb", + "community": 13, + "norm_label": "requiresdb" + }, + { + "label": "sanitizeInputs", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L60", + "_origin": "ast", + "id": "src_trpc_sanitizeinputs", + "community": 13, + "norm_label": "sanitizeinputs" + }, + { + "label": "enforceContentType", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L81", + "_origin": "ast", + "id": "src_trpc_enforcecontenttype", + "community": 13, + "norm_label": "enforcecontenttype" + }, + { + "label": "uploadSanitizeInputs", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L98", + "_origin": "ast", + "id": "src_trpc_uploadsanitizeinputs", + "community": 13, + "norm_label": "uploadsanitizeinputs" + }, + { + "label": "CACHE_INVALIDATION_MAP", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L138", + "_origin": "ast", + "id": "src_trpc_cache_invalidation_map", + "community": 13, + "norm_label": "cache_invalidation_map" + }, + { + "label": "cacheInvalidationMiddleware", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L180", + "_origin": "ast", + "id": "src_trpc_cacheinvalidationmiddleware", + "community": 13, + "norm_label": "cacheinvalidationmiddleware" + }, + { + "label": "publicProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L199", + "_origin": "ast", + "id": "src_trpc_publicprocedure", + "community": 25, + "norm_label": "publicprocedure" + }, + { + "label": "isAuthed", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L240", + "_origin": "ast", + "id": "src_trpc_isauthed", + "community": 13, + "norm_label": "isauthed" + }, + { + "label": "protectedProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L277", + "_origin": "ast", + "id": "src_trpc_protectedprocedure", + "community": 26, + "norm_label": "protectedprocedure" + }, + { + "label": "uploadProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L284", + "_origin": "ast", + "id": "src_trpc_uploadprocedure", + "community": 38, + "norm_label": "uploadprocedure" + }, + { + "label": "judgeProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L291", + "_origin": "ast", + "id": "src_trpc_judgeprocedure", + "community": 13, + "norm_label": "judgeprocedure" + }, + { + "label": "adminProcedure", + "file_type": "code", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L298", + "_origin": "ast", + "id": "src_trpc_adminprocedure", + "community": 13, + "norm_label": "adminprocedure" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "api_tsconfig", + "community": 64, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "api_tsconfig_extends", + "community": 64, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "api_tsconfig_compileroptions", + "community": 64, + "norm_label": "compileroptions" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "api_tsconfig_compileroptions_outdir", + "community": 64, + "norm_label": "outdir" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "api_tsconfig_compileroptions_rootdir", + "community": 64, + "norm_label": "rootdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "api_tsconfig_include", + "community": 64, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/api/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "api_tsconfig_exclude", + "community": 64, + "norm_label": "exclude" + }, + { + "label": "vitest.config.ts", + "file_type": "code", + "source_file": "packages/api/vitest.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "api_vitest_config", + "community": 118, + "norm_label": "vitest.config.ts" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "auth_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "auth_package", + "community": 11, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "auth_package_name", + "community": 11, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "auth_package_version", + "community": 11, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "auth_package_private", + "community": 11, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "auth_package_main", + "community": 11, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "auth_package_types", + "community": 11, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "auth_package_exports", + "community": 11, + "norm_label": "exports" + }, + { + "label": "./email", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "auth_package_exports_email", + "community": 11, + "norm_label": "./email" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "auth_package_scripts", + "community": 11, + "norm_label": "scripts" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "auth_package_scripts_lint", + "community": 11, + "norm_label": "lint" + }, + { + "label": "type-check", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "auth_package_scripts_type_check", + "community": 11, + "norm_label": "type-check" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "auth_package_dependencies", + "community": 11, + "norm_label": "dependencies" + }, + { + "label": "@auth/drizzle-adapter", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "auth_package_dependencies_auth_drizzle_adapter", + "community": 11, + "norm_label": "@auth/drizzle-adapter" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "auth_package_dependencies_query_db", + "community": 11, + "norm_label": "@query/db" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "auth_package_dependencies_drizzle_orm", + "community": 11, + "norm_label": "drizzle-orm" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "auth_package_dependencies_minimatch", + "community": 11, + "norm_label": "minimatch" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "auth_package_dependencies_next_auth", + "community": 11, + "norm_label": "next-auth" + }, + { + "label": "nodemailer", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "auth_package_dependencies_nodemailer", + "community": 11, + "norm_label": "nodemailer" + }, + { + "label": "peerDependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "auth_package_peerdependencies", + "community": 11, + "norm_label": "peerdependencies" + }, + { + "label": "next", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "auth_package_peerdependencies_next", + "community": 11, + "norm_label": "next" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "auth_package_devdependencies", + "community": 11, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "auth_package_devdependencies_query_tsconfig", + "community": 11, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "auth_package_devdependencies_types_node", + "community": 11, + "norm_label": "@types/node" + }, + { + "label": "@typescript-eslint/eslint-plugin", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_eslint_plugin", + "community": 11, + "norm_label": "@typescript-eslint/eslint-plugin" + }, + { + "label": "@typescript-eslint/parser", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_parser", + "community": 11, + "norm_label": "@typescript-eslint/parser" + }, + { + "label": "@typescript-eslint/utils", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript_eslint_utils", + "community": 11, + "norm_label": "@typescript-eslint/utils" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "auth_package_devdependencies_eslint", + "community": 11, + "norm_label": "eslint" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "auth_package_devdependencies_eslint_config_prettier", + "community": 11, + "norm_label": "eslint-config-prettier" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/auth/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "auth_package_devdependencies_typescript", + "community": 11, + "norm_label": "typescript" + }, + { + "label": "adapter.ts", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_adapter", + "community": 2, + "norm_label": "adapter.ts" + }, + { + "label": "createAdapter()", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L6", + "_origin": "ast", + "id": "src_adapter_createadapter", + "community": 2, + "norm_label": "createadapter()" + }, + { + "label": "adapter", + "file_type": "code", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L66", + "_origin": "ast", + "id": "src_adapter_adapter", + "community": 40, + "norm_label": "adapter" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_auth", + "community": 40, + "norm_label": "auth.ts" + }, + { + "label": "{ handlers, auth, signIn, signOut }", + "file_type": "code", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L10", + "_origin": "ast", + "id": "src_auth_handlers_auth_signin_signout", + "community": 40, + "norm_label": "{ handlers, auth, signin, signout }" + }, + { + "label": "config.ts", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_config", + "community": 40, + "norm_label": "config.ts" + }, + { + "label": "html()", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_config_html", + "community": 40, + "norm_label": "html()" + }, + { + "label": "authConfig", + "file_type": "code", + "source_file": "packages/auth/src/config.ts", + "source_location": "L68", + "_origin": "ast", + "id": "src_config_authconfig", + "community": 40, + "norm_label": "authconfig" + }, + { + "label": "email.ts", + "file_type": "code", + "source_file": "packages/auth/src/email.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_email", + "community": 40, + "norm_label": "email.ts" + }, + { + "label": "sendAcceptanceEmail()", + "file_type": "code", + "source_file": "packages/auth/src/email.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_email_sendacceptanceemail", + "community": 40, + "norm_label": "sendacceptanceemail()" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/auth/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_auth_src_index_ts_src_index", + "community": 40, + "norm_label": "index.ts" + }, + { + "label": "utils.ts", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_utils", + "community": 40, + "norm_label": "utils.ts" + }, + { + "label": "getSession()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_utils_getsession", + "community": 40, + "norm_label": "getsession()" + }, + { + "label": "requireAuth()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_utils_requireauth", + "community": 40, + "norm_label": "requireauth()" + }, + { + "label": "getCurrentUserId()", + "file_type": "code", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L15", + "_origin": "ast", + "id": "src_utils_getcurrentuserid", + "community": 40, + "norm_label": "getcurrentuserid()" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "auth_tsconfig", + "community": 54, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "auth_tsconfig_extends", + "community": 54, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions", + "community": 54, + "norm_label": "compileroptions" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_paths", + "community": 54, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "auth_tsconfig_paths", + "community": 54, + "norm_label": "@/*" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_moduleresolution", + "community": 54, + "norm_label": "moduleresolution" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "auth_tsconfig_compileroptions_lib", + "community": 54, + "norm_label": "lib" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "auth_tsconfig_include", + "community": 54, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "auth_tsconfig_exclude", + "community": 54, + "norm_label": "exclude" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/consts/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "consts_index", + "community": 119, + "norm_label": "index.ts" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "consts_package", + "community": 66, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "consts_package_name", + "community": 66, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "consts_package_version", + "community": 66, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "consts_package_private", + "community": 66, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "consts_package_main", + "community": 66, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "consts_package_types", + "community": 66, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/consts/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "consts_package_exports", + "community": 66, + "norm_label": "exports" + }, + { + "label": "drizzle.config.ts", + "file_type": "code", + "source_file": "packages/db/drizzle.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "db_drizzle_config", + "community": 120, + "norm_label": "drizzle.config.ts" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "db_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "db_package", + "community": 16, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "db_package_name", + "community": 16, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "db_package_version", + "community": 16, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "db_package_private", + "community": 16, + "norm_label": "private" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "db_package_main", + "community": 16, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "db_package_types", + "community": 16, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "db_package_exports", + "community": 16, + "norm_label": "exports" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "db_package_scripts", + "community": 16, + "norm_label": "scripts" + }, + { + "label": "migrate:push", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "db_package_scripts_migrate_push", + "community": 16, + "norm_label": "migrate:push" + }, + { + "label": "migrate:generate", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "db_package_scripts_migrate_generate", + "community": 16, + "norm_label": "migrate:generate" + }, + { + "label": "studio", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "db_package_scripts_studio", + "community": 16, + "norm_label": "studio" + }, + { + "label": "db:seed", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "db_package_scripts_db_seed", + "community": 16, + "norm_label": "db:seed" + }, + { + "label": "db:reset", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "db_package_scripts_db_reset", + "community": 16, + "norm_label": "db:reset" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "db_package_dependencies", + "community": 16, + "norm_label": "dependencies" + }, + { + "label": "@t3-oss/env-nextjs", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "db_package_dependencies_t3_oss_env_nextjs", + "community": 16, + "norm_label": "@t3-oss/env-nextjs" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "db_package_dependencies_drizzle_orm", + "community": 16, + "norm_label": "drizzle-orm" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "db_package_dependencies_minimatch", + "community": 16, + "norm_label": "minimatch" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "db_package_dependencies_next_auth", + "community": 16, + "norm_label": "next-auth" + }, + { + "label": "pg", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "db_package_dependencies_pg", + "community": 16, + "norm_label": "pg" + }, + { + "label": "postgres", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "db_package_dependencies_postgres", + "community": 16, + "norm_label": "postgres" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "db_package_dependencies_zod", + "community": 16, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "db_package_devdependencies", + "community": 16, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "db_package_devdependencies_query_tsconfig", + "community": 16, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/pg", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "db_package_devdependencies_types_pg", + "community": 16, + "norm_label": "@types/pg" + }, + { + "label": "drizzle-kit", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "db_package_devdependencies_drizzle_kit", + "community": 16, + "norm_label": "drizzle-kit" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "db_package_devdependencies_tsx", + "community": 16, + "norm_label": "tsx" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "db_package_devdependencies_typescript", + "community": 16, + "norm_label": "typescript" + }, + { + "label": "xlsx", + "file_type": "code", + "source_file": "packages/db/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "db_package_devdependencies_xlsx", + "community": 16, + "norm_label": "xlsx" + }, + { + "label": "seed.ts", + "file_type": "code", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L1", + "_origin": "ast", + "id": "scripts_seed", + "community": 48, + "norm_label": "seed.ts" + }, + { + "label": "main()", + "file_type": "code", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L6", + "_origin": "ast", + "id": "scripts_seed_main", + "community": 48, + "norm_label": "main()" + }, + { + "label": "client.ts", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_client", + "community": 48, + "norm_label": "client.ts" + }, + { + "label": "DrizzleDB", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L8", + "_origin": "ast", + "id": "src_client_drizzledb", + "community": 48, + "norm_label": "drizzledb" + }, + { + "label": "globalForDb", + "file_type": "code", + "source_file": "packages/db/src/client.ts", + "source_location": "L10", + "_origin": "ast", + "id": "src_client_globalfordb", + "community": 48, + "norm_label": "globalfordb" + }, + { + "label": "env.ts", + "file_type": "code", + "source_file": "packages/db/src/env.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_db_src_env_ts_src_env", + "community": 108, + "norm_label": "env.ts" + }, + { + "label": "env", + "file_type": "code", + "source_file": "packages/db/src/env.ts", + "source_location": "L4", + "_origin": "ast", + "id": "packages_db_src_env_ts_src_env_env", + "community": 108, + "norm_label": "env" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/db/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_db_src_index_ts_src_index", + "community": 2, + "norm_label": "index.ts" + }, + { + "label": "admins.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_admins", + "community": 2, + "norm_label": "admins.ts" + }, + { + "label": "admins", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L5", + "_origin": "ast", + "id": "schemas_admins_admins", + "community": 2, + "norm_label": "admins" + }, + { + "label": "adminsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L20", + "_origin": "ast", + "id": "schemas_admins_adminsrelations", + "community": 2, + "norm_label": "adminsrelations" + }, + { + "label": "auth.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_auth", + "community": 2, + "norm_label": "auth.ts" + }, + { + "label": "users", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L11", + "_origin": "ast", + "id": "schemas_auth_users", + "community": 2, + "norm_label": "users" + }, + { + "label": "accounts", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L26", + "_origin": "ast", + "id": "schemas_auth_accounts", + "community": 2, + "norm_label": "accounts" + }, + { + "label": "sessions", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L51", + "_origin": "ast", + "id": "schemas_auth_sessions", + "community": 2, + "norm_label": "sessions" + }, + { + "label": "verificationTokens", + "file_type": "code", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L63", + "_origin": "ast", + "id": "schemas_auth_verificationtokens", + "community": 2, + "norm_label": "verificationtokens" + }, + { + "label": "events.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_events", + "community": 2, + "norm_label": "events.ts" + }, + { + "label": "events", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L13", + "_origin": "ast", + "id": "schemas_events_events", + "community": 2, + "norm_label": "events" + }, + { + "label": "eventCheckIns", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L31", + "_origin": "ast", + "id": "schemas_events_eventcheckins", + "community": 2, + "norm_label": "eventcheckins" + }, + { + "label": "eventsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L50", + "_origin": "ast", + "id": "schemas_events_eventsrelations", + "community": 2, + "norm_label": "eventsrelations" + }, + { + "label": "eventCheckInsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L58", + "_origin": "ast", + "id": "schemas_events_eventcheckinsrelations", + "community": 2, + "norm_label": "eventcheckinsrelations" + }, + { + "label": "hackathons.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_hackathons", + "community": 26, + "norm_label": "hackathons.ts" + }, + { + "label": "hackathons", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_hackathons_hackathons", + "community": 26, + "norm_label": "hackathons" + }, + { + "label": "hackathonTeams", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L60", + "_origin": "ast", + "id": "schemas_hackathons_hackathonteams", + "community": 26, + "norm_label": "hackathonteams" + }, + { + "label": "hackathonParticipants", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L85", + "_origin": "ast", + "id": "schemas_hackathons_hackathonparticipants", + "community": 26, + "norm_label": "hackathonparticipants" + }, + { + "label": "hackathonProjects", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L183", + "_origin": "ast", + "id": "schemas_hackathons_hackathonprojects", + "community": 26, + "norm_label": "hackathonprojects" + }, + { + "label": "hackathonsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L223", + "_origin": "ast", + "id": "schemas_hackathons_hackathonsrelations", + "community": 26, + "norm_label": "hackathonsrelations" + }, + { + "label": "hackathonParticipantsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L229", + "_origin": "ast", + "id": "schemas_hackathons_hackathonparticipantsrelations", + "community": 26, + "norm_label": "hackathonparticipantsrelations" + }, + { + "label": "hackathonTeamsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L251", + "_origin": "ast", + "id": "schemas_hackathons_hackathonteamsrelations", + "community": 26, + "norm_label": "hackathonteamsrelations" + }, + { + "label": "hackathonEvents", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L268", + "_origin": "ast", + "id": "schemas_hackathons_hackathonevents", + "community": 26, + "norm_label": "hackathonevents" + }, + { + "label": "hackathonEventAttendees", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L294", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventattendees", + "community": 26, + "norm_label": "hackathoneventattendees" + }, + { + "label": "hackathonEventsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L314", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventsrelations", + "community": 26, + "norm_label": "hackathoneventsrelations" + }, + { + "label": "hackathonEventAttendeesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L325", + "_origin": "ast", + "id": "schemas_hackathons_hackathoneventattendeesrelations", + "community": 26, + "norm_label": "hackathoneventattendeesrelations" + }, + { + "label": "hackathonProjectsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L339", + "_origin": "ast", + "id": "schemas_hackathons_hackathonprojectsrelations", + "community": 26, + "norm_label": "hackathonprojectsrelations" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_index", + "community": 2, + "norm_label": "index.ts" + }, + { + "label": "judge.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_judge", + "community": 30, + "norm_label": "judge.ts" + }, + { + "label": "judges", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L15", + "_origin": "ast", + "id": "schemas_judge_judges", + "community": 30, + "norm_label": "judges" + }, + { + "label": "judgeAssignments", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L42", + "_origin": "ast", + "id": "schemas_judge_judgeassignments", + "community": 30, + "norm_label": "judgeassignments" + }, + { + "label": "judgingProjects", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L66", + "_origin": "ast", + "id": "schemas_judge_judgingprojects", + "community": 30, + "norm_label": "judgingprojects" + }, + { + "label": "judgeVotes", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L93", + "_origin": "ast", + "id": "schemas_judge_judgevotes", + "community": 30, + "norm_label": "judgevotes" + }, + { + "label": "hackathonMaps", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L124", + "_origin": "ast", + "id": "schemas_judge_hackathonmaps", + "community": 30, + "norm_label": "hackathonmaps" + }, + { + "label": "judgeQueue", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L140", + "_origin": "ast", + "id": "schemas_judge_judgequeue", + "community": 30, + "norm_label": "judgequeue" + }, + { + "label": "judgesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L170", + "_origin": "ast", + "id": "schemas_judge_judgesrelations", + "community": 30, + "norm_label": "judgesrelations" + }, + { + "label": "judgeAssignmentsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L180", + "_origin": "ast", + "id": "schemas_judge_judgeassignmentsrelations", + "community": 30, + "norm_label": "judgeassignmentsrelations" + }, + { + "label": "judgingProjectsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L194", + "_origin": "ast", + "id": "schemas_judge_judgingprojectsrelations", + "community": 30, + "norm_label": "judgingprojectsrelations" + }, + { + "label": "judgeVotesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L206", + "_origin": "ast", + "id": "schemas_judge_judgevotesrelations", + "community": 30, + "norm_label": "judgevotesrelations" + }, + { + "label": "hackathonMapsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L217", + "_origin": "ast", + "id": "schemas_judge_hackathonmapsrelations", + "community": 30, + "norm_label": "hackathonmapsrelations" + }, + { + "label": "judgeQueueRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L224", + "_origin": "ast", + "id": "schemas_judge_judgequeuerelations", + "community": 30, + "norm_label": "judgequeuerelations" + }, + { + "label": "members.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_members", + "community": 2, + "norm_label": "members.ts" + }, + { + "label": "userProfiles", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L13", + "_origin": "ast", + "id": "schemas_members_userprofiles", + "community": 38, + "norm_label": "userprofiles" + }, + { + "label": "members", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L30", + "_origin": "ast", + "id": "schemas_members_members", + "community": 2, + "norm_label": "members" + }, + { + "label": "membershipHistory", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L67", + "_origin": "ast", + "id": "schemas_members_membershiphistory", + "community": 48, + "norm_label": "membershiphistory" + }, + { + "label": "usersRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L85", + "_origin": "ast", + "id": "schemas_members_usersrelations", + "community": 2, + "norm_label": "usersrelations" + }, + { + "label": "userProfilesRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L96", + "_origin": "ast", + "id": "schemas_members_userprofilesrelations", + "community": 2, + "norm_label": "userprofilesrelations" + }, + { + "label": "membersRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L103", + "_origin": "ast", + "id": "schemas_members_membersrelations", + "community": 2, + "norm_label": "membersrelations" + }, + { + "label": "membershipHistoryRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L111", + "_origin": "ast", + "id": "schemas_members_membershiphistoryrelations", + "community": 2, + "norm_label": "membershiphistoryrelations" + }, + { + "label": "security.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_security", + "community": 2, + "norm_label": "security.ts" + }, + { + "label": "securitySeverityEnum", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L11", + "_origin": "ast", + "id": "schemas_security_securityseverityenum", + "community": 2, + "norm_label": "securityseverityenum" + }, + { + "label": "auditLogs", + "file_type": "code", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_security_auditlogs", + "community": 2, + "norm_label": "auditlogs" + }, + { + "label": "settings.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_settings", + "community": 2, + "norm_label": "settings.ts" + }, + { + "label": "systemSettings", + "file_type": "code", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L9", + "_origin": "ast", + "id": "schemas_settings_systemsettings", + "community": 2, + "norm_label": "systemsettings" + }, + { + "label": "stripe.ts", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schemas_stripe", + "community": 2, + "norm_label": "stripe.ts" + }, + { + "label": "stripePayments", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L17", + "_origin": "ast", + "id": "schemas_stripe_stripepayments", + "community": 2, + "norm_label": "stripepayments" + }, + { + "label": "userAccountLinks", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L58", + "_origin": "ast", + "id": "schemas_stripe_useraccountlinks", + "community": 2, + "norm_label": "useraccountlinks" + }, + { + "label": "stripePaymentsRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L83", + "_origin": "ast", + "id": "schemas_stripe_stripepaymentsrelations", + "community": 2, + "norm_label": "stripepaymentsrelations" + }, + { + "label": "userAccountLinksRelations", + "file_type": "code", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L94", + "_origin": "ast", + "id": "schemas_stripe_useraccountlinksrelations", + "community": 2, + "norm_label": "useraccountlinksrelations" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "db_tsconfig", + "community": 36, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "db_tsconfig_extends", + "community": 36, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "db_tsconfig_compileroptions", + "community": 36, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_target", + "community": 36, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_module", + "community": 36, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_moduleresolution", + "community": 36, + "norm_label": "moduleresolution" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_lib", + "community": 36, + "norm_label": "lib" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_esmoduleinterop", + "community": 36, + "norm_label": "esmoduleinterop" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 36, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_skiplibcheck", + "community": 36, + "norm_label": "skiplibcheck" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_paths", + "community": 36, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "db_tsconfig_paths", + "community": 36, + "norm_label": "@/*" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "db_tsconfig_compileroptions_outdir", + "community": 36, + "norm_label": "outdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "db_tsconfig_include", + "community": 36, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/db/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "db_tsconfig_exclude", + "community": 36, + "norm_label": "exclude" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "ui_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_package", + "community": 8, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_package_name", + "community": 8, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_package_version", + "community": 8, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_package_type", + "community": 8, + "norm_label": "type" + }, + { + "label": "sideEffects", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_package_sideeffects", + "community": 8, + "norm_label": "sideeffects" + }, + { + "label": "files", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_package_files", + "community": 8, + "norm_label": "files" + }, + { + "label": "main", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_package_main", + "community": 8, + "norm_label": "main" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "ui_package_types", + "community": 8, + "norm_label": "types" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_package_exports", + "community": 8, + "norm_label": "exports" + }, + { + "label": "import", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "ui_package_import", + "community": 8, + "norm_label": "import" + }, + { + "label": "default", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "ui_package_default", + "community": 8, + "norm_label": "default" + }, + { + "label": "./styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "ui_package_exports_styles", + "community": 8, + "norm_label": "./styles" + }, + { + "label": "./styles.css", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "ui_package_exports_styles_css", + "community": 8, + "norm_label": "./styles.css" + }, + { + "label": "license", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "ui_package_license", + "community": 8, + "norm_label": "license" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "ui_package_scripts", + "community": 8, + "norm_label": "scripts" + }, + { + "label": "build:styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "ui_package_scripts_build_styles", + "community": 8, + "norm_label": "build:styles" + }, + { + "label": "build:components", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "ui_package_scripts_build_components", + "community": 8, + "norm_label": "build:components" + }, + { + "label": "check-types", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "ui_package_scripts_check_types", + "community": 8, + "norm_label": "check-types" + }, + { + "label": "dev:styles", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "ui_package_scripts_dev_styles", + "community": 8, + "norm_label": "dev:styles" + }, + { + "label": "dev:components", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "ui_package_scripts_dev_components", + "community": 8, + "norm_label": "dev:components" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "ui_package_scripts_lint", + "community": 8, + "norm_label": "lint" + }, + { + "label": "peerDependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "ui_package_peerdependencies", + "community": 8, + "norm_label": "peerdependencies" + }, + { + "label": "react", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "ui_package_peerdependencies_react", + "community": 8, + "norm_label": "react" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "ui_package_devdependencies", + "community": 8, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "ui_package_devdependencies_next_eslint_plugin_next", + "community": 8, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@query/eslint-config", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "ui_package_devdependencies_query_eslint_config", + "community": 8, + "norm_label": "@query/eslint-config" + }, + { + "label": "@query/tailwind-config", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "ui_package_devdependencies_query_tailwind_config", + "community": 8, + "norm_label": "@query/tailwind-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "ui_package_devdependencies_query_tsconfig", + "community": 8, + "norm_label": "@query/tsconfig" + }, + { + "label": "@tailwindcss/cli", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "ui_package_devdependencies_tailwindcss_cli", + "community": 8, + "norm_label": "@tailwindcss/cli" + }, + { + "label": "@types/minimatch", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "ui_package_devdependencies_types_minimatch", + "community": 8, + "norm_label": "@types/minimatch" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "ui_package_devdependencies_types_react", + "community": 8, + "norm_label": "@types/react" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L43", + "_origin": "ast", + "id": "ui_package_devdependencies_eslint", + "community": 8, + "norm_label": "eslint" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L44", + "_origin": "ast", + "id": "ui_package_devdependencies_tailwindcss", + "community": 8, + "norm_label": "tailwindcss" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "ui_package_devdependencies_typescript", + "community": 8, + "norm_label": "typescript" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L47", + "_origin": "ast", + "id": "ui_package_dependencies", + "community": 8, + "norm_label": "dependencies" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "ui_package_dependencies_minimatch", + "community": 8, + "norm_label": "minimatch" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "packages/ui/package.json", + "source_location": "L49", + "_origin": "ast", + "id": "ui_package_dependencies_react_dom", + "community": 8, + "norm_label": "react-dom" + }, + { + "label": "card.jsx", + "file_type": "code", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_card_jsx_src_card", + "community": 109, + "norm_label": "card.jsx" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L4", + "_origin": "ast", + "id": "packages_ui_src_card_jsx_src_card_card", + "community": 109, + "norm_label": "card()" + }, + { + "label": "card.tsx", + "file_type": "code", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_card_tsx_src_card", + "community": 110, + "norm_label": "card.tsx" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "packages_ui_src_card_tsx_src_card_card", + "community": 110, + "norm_label": "card()" + }, + { + "label": "glass.tsx", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "src_glass", + "community": 98, + "norm_label": "glass.tsx" + }, + { + "label": "GlassProps", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "src_glass_glassprops", + "community": 98, + "norm_label": "glassprops" + }, + { + "label": "Glass()", + "file_type": "code", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "src_glass_glass", + "community": 98, + "norm_label": "glass()" + }, + { + "label": "gradient.jsx", + "file_type": "code", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_jsx_src_gradient", + "community": 111, + "norm_label": "gradient.jsx" + }, + { + "label": "Gradient()", + "file_type": "code", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L4", + "_origin": "ast", + "id": "packages_ui_src_gradient_jsx_src_gradient_gradient", + "community": 111, + "norm_label": "gradient()" + }, + { + "label": "gradient.tsx", + "file_type": "code", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_tsx_src_gradient", + "community": 112, + "norm_label": "gradient.tsx" + }, + { + "label": "Gradient()", + "file_type": "code", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_gradient_tsx_src_gradient_gradient", + "community": 112, + "norm_label": "gradient()" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "packages/ui/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_index_ts_src_index", + "community": 127, + "norm_label": "index.ts" + }, + { + "label": "turborepo-logo.jsx", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.jsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_turborepo_logo_jsx_src_turborepo_logo", + "community": 128, + "norm_label": "turborepo-logo.jsx" + }, + { + "label": "turborepo-logo.tsx", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "packages_ui_src_turborepo_logo_tsx_src_turborepo_logo", + "community": 113, + "norm_label": "turborepo-logo.tsx" + }, + { + "label": "TurborepoLogo()", + "file_type": "code", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "src_turborepo_logo_turborepologo", + "community": 113, + "norm_label": "turborepologo()" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_tsconfig", + "community": 42, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_tsconfig_extends", + "community": 42, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions", + "community": 42, + "norm_label": "compileroptions" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_lib", + "community": 42, + "norm_label": "lib" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_jsx", + "community": 42, + "norm_label": "jsx" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_rootdir", + "community": 42, + "norm_label": "rootdir" + }, + { + "label": "types", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_types", + "community": 42, + "norm_label": "types" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_skiplibcheck", + "community": 42, + "norm_label": "skiplibcheck" + }, + { + "label": "emitDeclarationOnly", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_emitdeclarationonly", + "community": 42, + "norm_label": "emitdeclarationonly" + }, + { + "label": "module", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_module", + "community": 42, + "norm_label": "module" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_tsconfig_compileroptions_outdir", + "community": 42, + "norm_label": "outdir" + }, + { + "label": "include", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_tsconfig_include", + "community": 42, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "ui_tsconfig_exclude", + "community": 42, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "ui_turbo", + "community": 35, + "norm_label": "turbo.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "ui_turbo_extends", + "community": 35, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "ui_turbo_tasks", + "community": 35, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "ui_turbo_tasks_build", + "community": 35, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "ui_turbo_build_dependson", + "community": 35, + "norm_label": "dependson" + }, + { + "label": "build:styles", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "ui_turbo_tasks_build_styles", + "community": 35, + "norm_label": "build:styles" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "ui_turbo_build_styles_outputs", + "community": 35, + "norm_label": "outputs" + }, + { + "label": "build:components", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "ui_turbo_tasks_build_components", + "community": 35, + "norm_label": "build:components" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "ui_turbo_build_components_outputs", + "community": 35, + "norm_label": "outputs" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L13", + "_origin": "ast", + "id": "ui_turbo_tasks_dev", + "community": 35, + "norm_label": "dev" + }, + { + "label": "with", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L14", + "_origin": "ast", + "id": "ui_turbo_dev_with", + "community": 35, + "norm_label": "with" + }, + { + "label": "dev:styles", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L16", + "_origin": "ast", + "id": "ui_turbo_tasks_dev_styles", + "community": 35, + "norm_label": "dev:styles" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L17", + "_origin": "ast", + "id": "ui_turbo_dev_styles_cache", + "community": 35, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L18", + "_origin": "ast", + "id": "ui_turbo_dev_styles_persistent", + "community": 35, + "norm_label": "persistent" + }, + { + "label": "dev:components", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L20", + "_origin": "ast", + "id": "ui_turbo_tasks_dev_components", + "community": 35, + "norm_label": "dev:components" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L21", + "_origin": "ast", + "id": "ui_turbo_dev_components_cache", + "community": 35, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "packages/ui/turbo.json", + "source_location": "L22", + "_origin": "ast", + "id": "ui_turbo_dev_components_persistent", + "community": 35, + "norm_label": "persistent" + }, + { + "label": "restore-workspace.js", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L1", + "_origin": "ast", + "id": "restore_workspace", + "community": 80, + "norm_label": "restore-workspace.js" + }, + { + "label": "fs", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L1", + "_origin": "ast", + "id": "restore_workspace_fs", + "community": 80, + "norm_label": "fs" + }, + { + "label": "path", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L2", + "_origin": "ast", + "id": "restore_workspace_path", + "community": 80, + "norm_label": "path" + }, + { + "label": "packagesToRestore", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L4", + "_origin": "ast", + "id": "restore_workspace_packagestorestore", + "community": 80, + "norm_label": "packagestorestore" + }, + { + "label": "restore()", + "file_type": "code", + "source_file": "restore-workspace.js", + "source_location": "L15", + "_origin": "ast", + "id": "restore_workspace_restore", + "community": 80, + "norm_label": "restore()" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "discordbot_package", + "community": 21, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "discordbot_package_name", + "community": 21, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "discordbot_package_version", + "community": 21, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "discordbot_package_type", + "community": 21, + "norm_label": "type" + }, + { + "label": "description", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "discordbot_package_description", + "community": 21, + "norm_label": "description" + }, + { + "label": "main", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "discordbot_package_main", + "community": 21, + "norm_label": "main" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "discordbot_package_scripts", + "community": 21, + "norm_label": "scripts" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "discordbot_package_scripts_build", + "community": 21, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "discordbot_package_scripts_start", + "community": 21, + "norm_label": "start" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "discordbot_package_scripts_dev", + "community": 21, + "norm_label": "dev" + }, + { + "label": "keywords", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "discordbot_package_keywords", + "community": 21, + "norm_label": "keywords" + }, + { + "label": "author", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "discordbot_package_author", + "community": 21, + "norm_label": "author" + }, + { + "label": "license", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "discordbot_package_license", + "community": 21, + "norm_label": "license" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "discordbot_package_dependencies", + "community": 21, + "norm_label": "dependencies" + }, + { + "label": "discord.js", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "discordbot_package_dependencies_discord_js", + "community": 21, + "norm_label": "discord.js" + }, + { + "label": "dotenv", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "discordbot_package_dependencies_dotenv", + "community": 21, + "norm_label": "dotenv" + }, + { + "label": "fuse.js", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "discordbot_package_dependencies_fuse_js", + "community": 21, + "norm_label": "fuse.js" + }, + { + "label": "zod", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "discordbot_package_dependencies_zod", + "community": 21, + "norm_label": "zod" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "discordbot_package_devdependencies", + "community": 21, + "norm_label": "devdependencies" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "discordbot_package_devdependencies_types_node", + "community": 21, + "norm_label": "@types/node" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "discordbot_package_devdependencies_tsx", + "community": 21, + "norm_label": "tsx" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/discordBot/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "discordbot_package_devdependencies_typescript", + "community": 21, + "norm_label": "typescript" + }, + { + "label": "ask.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_ask", + "community": 7, + "norm_label": "ask.ts" + }, + { + "label": "SearchableSection", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_ask_searchablesection", + "community": 7, + "norm_label": "searchablesection" + }, + { + "label": "SearchResult", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L16", + "_origin": "ast", + "id": "commands_ask_searchresult", + "community": 7, + "norm_label": "searchresult" + }, + { + "label": "SynonymExpander", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L21", + "_origin": "ast", + "id": "commands_ask_synonymexpander", + "community": 7, + "norm_label": "synonymexpander" + }, + { + "label": ".expandQuery()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L127", + "_origin": "ast", + "id": "commands_ask_synonymexpander_expandquery", + "community": 7, + "norm_label": ".expandquery()" + }, + { + "label": ".tokenize()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L136", + "_origin": "ast", + "id": "commands_ask_synonymexpander_tokenize", + "community": 7, + "norm_label": ".tokenize()" + }, + { + "label": ".addWordAndSynonyms()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L144", + "_origin": "ast", + "id": "commands_ask_synonymexpander_addwordandsynonyms", + "community": 7, + "norm_label": ".addwordandsynonyms()" + }, + { + "label": "GuideSearchEngine", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L161", + "_origin": "ast", + "id": "commands_ask_guidesearchengine", + "community": 7, + "norm_label": "guidesearchengine" + }, + { + "label": ".search()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L165", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_search", + "community": 7, + "norm_label": ".search()" + }, + { + "label": ".ensureIndexReady()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L173", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_ensureindexready", + "community": 7, + "norm_label": ".ensureindexready()" + }, + { + "label": ".rebuildIndex()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L178", + "_origin": "ast", + "id": "commands_ask_guidesearchengine_rebuildindex", + "community": 7, + "norm_label": ".rebuildindex()" + }, + { + "label": "SearchResultFormatter", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L203", + "_origin": "ast", + "id": "commands_ask_searchresultformatter", + "community": 7, + "norm_label": "searchresultformatter" + }, + { + "label": ".formatEmbed()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L206", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_formatembed", + "community": 7, + "norm_label": ".formatembed()" + }, + { + "label": ".getWarningMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L216", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_getwarningmessage", + "community": 7, + "norm_label": ".getwarningmessage()" + }, + { + "label": ".getNoResultsMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L222", + "_origin": "ast", + "id": "commands_ask_searchresultformatter_getnoresultsmessage", + "community": 7, + "norm_label": ".getnoresultsmessage()" + }, + { + "label": "searchEngine", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L227", + "_origin": "ast", + "id": "commands_ask_searchengine", + "community": 7, + "norm_label": "searchengine" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L229", + "_origin": "ast", + "id": "commands_ask_data", + "community": 7, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L239", + "_origin": "ast", + "id": "commands_ask_execute", + "community": 7, + "norm_label": "execute()" + }, + { + "label": "clear.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_clear", + "community": 31, + "norm_label": "clear.ts" + }, + { + "label": "ClearResult", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L13", + "_origin": "ast", + "id": "commands_clear_clearresult", + "community": 31, + "norm_label": "clearresult" + }, + { + "label": "PermissionValidator", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L19", + "_origin": "ast", + "id": "commands_clear_permissionvalidator", + "community": 31, + "norm_label": "permissionvalidator" + }, + { + "label": ".hasPermission()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L22", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_haspermission", + "community": 31, + "norm_label": ".haspermission()" + }, + { + "label": ".getErrorMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L27", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_geterrormessage", + "community": 31, + "norm_label": ".geterrormessage()" + }, + { + "label": ".getAllowedRoles()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L32", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_getallowedroles", + "community": 31, + "norm_label": ".getallowedroles()" + }, + { + "label": ".memberHasAnyRole()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L38", + "_origin": "ast", + "id": "commands_clear_permissionvalidator_memberhasanyrole", + "community": 31, + "norm_label": ".memberhasanyrole()" + }, + { + "label": "MessageCleaner", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L43", + "_origin": "ast", + "id": "commands_clear_messagecleaner", + "community": 31, + "norm_label": "messagecleaner" + }, + { + "label": ".clearMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L46", + "_origin": "ast", + "id": "commands_clear_messagecleaner_clearmessages", + "community": 31, + "norm_label": ".clearmessages()" + }, + { + "label": ".fetchMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L78", + "_origin": "ast", + "id": "commands_clear_messagecleaner_fetchmessages", + "community": 31, + "norm_label": ".fetchmessages()" + }, + { + "label": ".filterDeletableMessages()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L85", + "_origin": "ast", + "id": "commands_clear_messagecleaner_filterdeletablemessages", + "community": 31, + "norm_label": ".filterdeletablemessages()" + }, + { + "label": ".getErrorMessage()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L96", + "_origin": "ast", + "id": "commands_clear_messagecleaner_geterrormessage", + "community": 31, + "norm_label": ".geterrormessage()" + }, + { + "label": "ClearCommandValidator", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L109", + "_origin": "ast", + "id": "commands_clear_clearcommandvalidator", + "community": 31, + "norm_label": "clearcommandvalidator" + }, + { + "label": ".validateContext()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L110", + "_origin": "ast", + "id": "commands_clear_clearcommandvalidator_validatecontext", + "community": 31, + "norm_label": ".validatecontext()" + }, + { + "label": "ClearCommandExecutor", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L144", + "_origin": "ast", + "id": "commands_clear_clearcommandexecutor", + "community": 31, + "norm_label": "clearcommandexecutor" + }, + { + "label": ".execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L145", + "_origin": "ast", + "id": "commands_clear_clearcommandexecutor_execute", + "community": 31, + "norm_label": ".execute()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L189", + "_origin": "ast", + "id": "commands_clear_data", + "community": 31, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L201", + "_origin": "ast", + "id": "commands_clear_execute", + "community": 31, + "norm_label": "execute()" + }, + { + "label": "guide.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_guide", + "community": 7, + "norm_label": "guide.ts" + }, + { + "label": "Guide", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_guide_guide", + "community": 7, + "norm_label": "guide" + }, + { + "label": ".getSections()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "_origin": "ast", + "id": "commands_guide_guide_getsections", + "community": 7, + "norm_label": ".getsections()" + }, + { + "label": ".getSelectMenuOptions()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "_origin": "ast", + "id": "commands_guide_guide_getselectmenuoptions", + "community": 7, + "norm_label": ".getselectmenuoptions()" + }, + { + "label": ".formatContent()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L34", + "_origin": "ast", + "id": "commands_guide_guide_formatcontent", + "community": 7, + "norm_label": ".formatcontent()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L42", + "_origin": "ast", + "id": "commands_guide_data", + "community": 7, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L46", + "_origin": "ast", + "id": "commands_guide_execute", + "community": 7, + "norm_label": "execute()" + }, + { + "label": "handleSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L65", + "_origin": "ast", + "id": "commands_guide_handleselectmenu", + "community": 7, + "norm_label": "handleselectmenu()" + }, + { + "label": "meow.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_meow", + "community": 82, + "norm_label": "meow.ts" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L7", + "_origin": "ast", + "id": "commands_meow_data", + "community": 82, + "norm_label": "data" + }, + { + "label": "cooldownUsers", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L11", + "_origin": "ast", + "id": "commands_meow_cooldownusers", + "community": 82, + "norm_label": "cooldownusers" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L14", + "_origin": "ast", + "id": "commands_meow_execute", + "community": 82, + "norm_label": "execute()" + }, + { + "label": "ping.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_ping", + "community": 89, + "norm_label": "ping.ts" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L3", + "_origin": "ast", + "id": "commands_ping_data", + "community": 89, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L7", + "_origin": "ast", + "id": "commands_ping_execute", + "community": 89, + "norm_label": "execute()" + }, + { + "label": "roles.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_roles", + "community": 70, + "norm_label": "roles.ts" + }, + { + "label": "BLOCKED_ROLES", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L15", + "_origin": "ast", + "id": "commands_roles_blocked_roles", + "community": 70, + "norm_label": "blocked_roles" + }, + { + "label": "roleEmojis", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L17", + "_origin": "ast", + "id": "commands_roles_roleemojis", + "community": 70, + "norm_label": "roleemojis" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L26", + "_origin": "ast", + "id": "commands_roles_data", + "community": 70, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L31", + "_origin": "ast", + "id": "commands_roles_execute", + "community": 70, + "norm_label": "execute()" + }, + { + "label": "handleButton()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L95", + "_origin": "ast", + "id": "commands_roles_handlebutton", + "community": 70, + "norm_label": "handlebutton()" + }, + { + "label": "startEvent.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L1", + "_origin": "ast", + "id": "commands_startevent", + "community": 65, + "norm_label": "startevent.ts" + }, + { + "label": "EventScheduler", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L9", + "_origin": "ast", + "id": "commands_startevent_eventscheduler", + "community": 65, + "norm_label": "eventscheduler" + }, + { + "label": ".parseTime()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L13", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_parsetime", + "community": 65, + "norm_label": ".parsetime()" + }, + { + "label": ".calculateDelay()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L19", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_calculatedelay", + "community": 65, + "norm_label": ".calculatedelay()" + }, + { + "label": ".getUnixTimestamp()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L35", + "_origin": "ast", + "id": "commands_startevent_eventscheduler_getunixtimestamp", + "community": 65, + "norm_label": ".getunixtimestamp()" + }, + { + "label": "data", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L40", + "_origin": "ast", + "id": "commands_startevent_data", + "community": 65, + "norm_label": "data" + }, + { + "label": "execute()", + "file_type": "code", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L71", + "_origin": "ast", + "id": "commands_startevent_execute", + "community": 65, + "norm_label": "execute()" + }, + { + "label": "deploy-commands.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/deploy-commands.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_deploy_commands", + "community": 129, + "norm_label": "deploy-commands.ts" + }, + { + "label": "env.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_discordbot_src_env_ts_src_env", + "community": 96, + "norm_label": "env.ts" + }, + { + "label": "envSchema", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L6", + "_origin": "ast", + "id": "src_env_envschema", + "community": 96, + "norm_label": "envschema" + }, + { + "label": "env", + "file_type": "code", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L18", + "_origin": "ast", + "id": "sites_discordbot_src_env_ts_src_env_env", + "community": 96, + "norm_label": "env" + }, + { + "label": "index.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_discordbot_src_index_ts_src_index", + "community": 41, + "norm_label": "index.ts" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L18", + "_origin": "ast", + "id": "src_index_filename", + "community": 41, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L19", + "_origin": "ast", + "id": "src_index_dirname", + "community": 41, + "norm_label": "__dirname" + }, + { + "label": "BotCommand", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L21", + "_origin": "ast", + "id": "src_index_botcommand", + "community": 41, + "norm_label": "botcommand" + }, + { + "label": "Bot", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L28", + "_origin": "ast", + "id": "src_index_bot", + "community": 41, + "norm_label": "bot" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L32", + "_origin": "ast", + "id": "src_index_bot_constructor", + "community": 41, + "norm_label": ".constructor()" + }, + { + "label": ".start()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L42", + "_origin": "ast", + "id": "src_index_bot_start", + "community": 41, + "norm_label": ".start()" + }, + { + "label": ".loadCommands()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L48", + "_origin": "ast", + "id": "src_index_bot_loadcommands", + "community": 41, + "norm_label": ".loadcommands()" + }, + { + "label": ".registerCommands()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L79", + "_origin": "ast", + "id": "src_index_bot_registercommands", + "community": 41, + "norm_label": ".registercommands()" + }, + { + "label": ".handleInteraction()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L95", + "_origin": "ast", + "id": "src_index_bot_handleinteraction", + "community": 41, + "norm_label": ".handleinteraction()" + }, + { + "label": ".handleSlashCommand()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L111", + "_origin": "ast", + "id": "src_index_bot_handleslashcommand", + "community": 41, + "norm_label": ".handleslashcommand()" + }, + { + "label": ".handleSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L135", + "_origin": "ast", + "id": "src_index_bot_handleselectmenu", + "community": 41, + "norm_label": ".handleselectmenu()" + }, + { + "label": ".handleButtonPress()", + "file_type": "code", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L156", + "_origin": "ast", + "id": "src_index_bot_handlebuttonpress", + "community": 41, + "norm_label": ".handlebuttonpress()" + }, + { + "label": "notion.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L1", + "_origin": "ast", + "id": "src_notion", + "community": 7, + "norm_label": "notion.ts" + }, + { + "label": "GuideSections", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L3", + "_origin": "ast", + "id": "src_notion_guidesections", + "community": 7, + "norm_label": "guidesections" + }, + { + "label": "NotionBlock", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L7", + "_origin": "ast", + "id": "src_notion_notionblock", + "community": 7, + "norm_label": "notionblock" + }, + { + "label": "NotionApiResponse", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L14", + "_origin": "ast", + "id": "src_notion_notionapiresponse", + "community": 7, + "norm_label": "notionapiresponse" + }, + { + "label": "RichTextSegment", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L21", + "_origin": "ast", + "id": "src_notion_richtextsegment", + "community": 7, + "norm_label": "richtextsegment" + }, + { + "label": "notionFetch()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L36", + "_origin": "ast", + "id": "src_notion_notionfetch", + "community": 7, + "norm_label": "notionfetch()" + }, + { + "label": "getBlockChildren()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L53", + "_origin": "ast", + "id": "src_notion_getblockchildren", + "community": 7, + "norm_label": "getblockchildren()" + }, + { + "label": "extractText()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L72", + "_origin": "ast", + "id": "src_notion_extracttext", + "community": 7, + "norm_label": "extracttext()" + }, + { + "label": "cleanMarkdown()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L123", + "_origin": "ast", + "id": "src_notion_cleanmarkdown", + "community": 7, + "norm_label": "cleanmarkdown()" + }, + { + "label": "traverseBlocks()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L132", + "_origin": "ast", + "id": "src_notion_traverseblocks", + "community": 7, + "norm_label": "traverseblocks()" + }, + { + "label": "getFullGuide()", + "file_type": "code", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L155", + "_origin": "ast", + "id": "src_notion_getfullguide", + "community": 7, + "norm_label": "getfullguide()" + }, + { + "label": "testAsk.ts", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L1", + "_origin": "ast", + "id": "tests_testask", + "community": 20, + "norm_label": "testask.ts" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L6", + "_origin": "ast", + "id": "tests_testask_filename", + "community": 20, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L7", + "_origin": "ast", + "id": "tests_testask_dirname", + "community": 20, + "norm_label": "__dirname" + }, + { + "label": "edgeCases", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L10", + "_origin": "ast", + "id": "tests_testask_edgecases", + "community": 20, + "norm_label": "edgecases" + }, + { + "label": "MockInteraction", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L26", + "_origin": "ast", + "id": "tests_testask_mockinteraction", + "community": 20, + "norm_label": "mockinteraction" + }, + { + "label": ".constructor()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L36", + "_origin": "ast", + "id": "tests_testask_mockinteraction_constructor", + "community": 20, + "norm_label": ".constructor()" + }, + { + "label": ".isChatInputCommand()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L41", + "_origin": "ast", + "id": "tests_testask_mockinteraction_ischatinputcommand", + "community": 20, + "norm_label": ".ischatinputcommand()" + }, + { + "label": ".isButton()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L44", + "_origin": "ast", + "id": "tests_testask_mockinteraction_isbutton", + "community": 20, + "norm_label": ".isbutton()" + }, + { + "label": ".isStringSelectMenu()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L47", + "_origin": "ast", + "id": "tests_testask_mockinteraction_isstringselectmenu", + "community": 20, + "norm_label": ".isstringselectmenu()" + }, + { + "label": ".options()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L51", + "_origin": "ast", + "id": "tests_testask_mockinteraction_options", + "community": 20, + "norm_label": ".options()" + }, + { + "label": ".client()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L67", + "_origin": "ast", + "id": "tests_testask_mockinteraction_client", + "community": 20, + "norm_label": ".client()" + }, + { + "label": ".guild()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L86", + "_origin": "ast", + "id": "tests_testask_mockinteraction_guild", + "community": 20, + "norm_label": ".guild()" + }, + { + "label": ".channel()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L115", + "_origin": "ast", + "id": "tests_testask_mockinteraction_channel", + "community": 20, + "norm_label": ".channel()" + }, + { + "label": "._createMockChannel()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L119", + "_origin": "ast", + "id": "tests_testask_mockinteraction_createmockchannel", + "community": 20, + "norm_label": "._createmockchannel()" + }, + { + "label": ".deferReply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L132", + "_origin": "ast", + "id": "tests_testask_mockinteraction_deferreply", + "community": 20, + "norm_label": ".deferreply()" + }, + { + "label": ".reply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L137", + "_origin": "ast", + "id": "tests_testask_mockinteraction_reply", + "community": 20, + "norm_label": ".reply()" + }, + { + "label": ".editReply()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L143", + "_origin": "ast", + "id": "tests_testask_mockinteraction_editreply", + "community": 20, + "norm_label": ".editreply()" + }, + { + "label": ".followUp()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L147", + "_origin": "ast", + "id": "tests_testask_mockinteraction_followup", + "community": 20, + "norm_label": ".followup()" + }, + { + "label": ".deferUpdate()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L151", + "_origin": "ast", + "id": "tests_testask_mockinteraction_deferupdate", + "community": 20, + "norm_label": ".deferupdate()" + }, + { + "label": "._extractContent()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L155", + "_origin": "ast", + "id": "tests_testask_mockinteraction_extractcontent", + "community": 20, + "norm_label": "._extractcontent()" + }, + { + "label": "._log()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L166", + "_origin": "ast", + "id": "tests_testask_mockinteraction_log", + "community": 20, + "norm_label": "._log()" + }, + { + "label": "runSuite()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L171", + "_origin": "ast", + "id": "tests_testask_runsuite", + "community": 20, + "norm_label": "runsuite()" + }, + { + "label": "runTest()", + "file_type": "code", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L213", + "_origin": "ast", + "id": "tests_testask_runtest", + "community": 20, + "norm_label": "runtest()" + }, + { + "label": "start.sh", + "file_type": "code", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "discordbot_start", + "community": 100, + "norm_label": "start.sh" + }, + { + "label": "start.sh script", + "file_type": "code", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_discordbot_start_sh__entry", + "community": 100, + "norm_label": "start.sh script" + }, + { + "label": "startup.sh", + "file_type": "code", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "discordbot_startup", + "community": 101, + "norm_label": "startup.sh" + }, + { + "label": "startup.sh script", + "file_type": "code", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_discordbot_startup_sh__entry", + "community": 101, + "norm_label": "startup.sh script" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "discordbot_tsconfig", + "community": 29, + "norm_label": "tsconfig.json" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions", + "community": 29, + "norm_label": "compileroptions" + }, + { + "label": "rootDir", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_rootdir", + "community": 29, + "norm_label": "rootdir" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_outdir", + "community": 29, + "norm_label": "outdir" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_target", + "community": 29, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_module", + "community": 29, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_moduleresolution", + "community": 29, + "norm_label": "moduleresolution" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_strict", + "community": 29, + "norm_label": "strict" + }, + { + "label": "noImplicitAny", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_noimplicitany", + "community": 29, + "norm_label": "noimplicitany" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_esmoduleinterop", + "community": 29, + "norm_label": "esmoduleinterop" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_resolvejsonmodule", + "community": 29, + "norm_label": "resolvejsonmodule" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_skiplibcheck", + "community": 29, + "norm_label": "skiplibcheck" + }, + { + "label": "allowSyntheticDefaultImports", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_allowsyntheticdefaultimports", + "community": 29, + "norm_label": "allowsyntheticdefaultimports" + }, + { + "label": "types", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_types", + "community": 29, + "norm_label": "types" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 29, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "declaration", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_declaration", + "community": 29, + "norm_label": "declaration" + }, + { + "label": "sourceMap", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "discordbot_tsconfig_compileroptions_sourcemap", + "community": 29, + "norm_label": "sourcemap" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "id": "discordbot_tsconfig_include", + "community": 29, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "discordbot_tsconfig_exclude", + "community": 29, + "norm_label": "exclude" + }, + { + "label": "CodeOfConductFooter.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "app_codeofconductfooter", + "community": 99, + "norm_label": "codeofconductfooter.tsx" + }, + { + "label": "CodeOfConductFooter()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "app_codeofconductfooter_codeofconductfooter", + "community": 99, + "norm_label": "codeofconductfooter()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout", + "community": 43, + "norm_label": "layout.tsx" + }, + { + "label": "robotoMono", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "app_layout_robotomono", + "community": 43, + "norm_label": "robotomono" + }, + { + "label": "spaceGrotesk", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "app_layout_spacegrotesk", + "community": 43, + "norm_label": "spacegrotesk" + }, + { + "label": "metadata", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout_metadata", + "community": 43, + "norm_label": "metadata" + }, + { + "label": "RootLayout()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L40", + "_origin": "ast", + "id": "sites_hacklytics2027_app_layout_tsx_app_layout_rootlayout", + "community": 43, + "norm_label": "rootlayout()" + }, + { + "label": "not-found.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_not_found_tsx_app_not_found", + "community": 116, + "norm_label": "not-found.tsx" + }, + { + "label": "NotFound()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "sites_hacklytics2027_app_not_found_tsx_app_not_found_notfound", + "community": 116, + "norm_label": "notfound()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_app_page_tsx_app_page", + "community": 53, + "norm_label": "page.tsx" + }, + { + "label": "FlowerBloom", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "app_page_flowerbloom", + "community": 53, + "norm_label": "flowerbloom" + }, + { + "label": "Countdown()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L260", + "_origin": "ast", + "id": "app_page_countdown", + "community": 53, + "norm_label": "countdown()" + }, + { + "label": "HomePage()", + "file_type": "code", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L370", + "_origin": "ast", + "id": "app_page_homepage", + "community": 53, + "norm_label": "homepage()" + }, + { + "label": "components.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_components", + "community": 44, + "norm_label": "components.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_components_schema", + "community": 44, + "norm_label": "$schema" + }, + { + "label": "style", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_components_style", + "community": 44, + "norm_label": "style" + }, + { + "label": "rsc", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_components_rsc", + "community": 44, + "norm_label": "rsc" + }, + { + "label": "tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_components_tsx", + "community": 44, + "norm_label": "tsx" + }, + { + "label": "tailwind", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind", + "community": 44, + "norm_label": "tailwind" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_config", + "community": 44, + "norm_label": "config" + }, + { + "label": "css", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_css", + "community": 44, + "norm_label": "css" + }, + { + "label": "baseColor", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_components_tailwind_basecolor", + "community": 44, + "norm_label": "basecolor" + }, + { + "label": "aliases", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_components_aliases", + "community": 44, + "norm_label": "aliases" + }, + { + "label": "components", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_components_aliases_components", + "community": 44, + "norm_label": "components" + }, + { + "label": "utils", + "file_type": "code", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_components_aliases_utils", + "community": 44, + "norm_label": "utils" + }, + { + "label": "FloatingFlowers.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_floatingflowers", + "community": 37, + "norm_label": "floatingflowers.tsx" + }, + { + "label": "CherryBlossom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "components_floatingflowers_cherryblossom", + "community": 37, + "norm_label": "cherryblossom()" + }, + { + "label": "LotusFlower()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L49", + "_origin": "ast", + "id": "components_floatingflowers_lotusflower", + "community": 37, + "norm_label": "lotusflower()" + }, + { + "label": "SmallDaisy()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "components_floatingflowers_smalldaisy", + "community": 37, + "norm_label": "smalldaisy()" + }, + { + "label": "FallingPetal()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L133", + "_origin": "ast", + "id": "components_floatingflowers_fallingpetal", + "community": 37, + "norm_label": "fallingpetal()" + }, + { + "label": "SpiralBloom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L160", + "_origin": "ast", + "id": "components_floatingflowers_spiralbloom", + "community": 37, + "norm_label": "spiralbloom()" + }, + { + "label": "FlowerInstance", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L205", + "_origin": "ast", + "id": "components_floatingflowers_flowerinstance", + "community": 37, + "norm_label": "flowerinstance" + }, + { + "label": "COLORS", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L219", + "_origin": "ast", + "id": "components_floatingflowers_colors", + "community": 37, + "norm_label": "colors" + }, + { + "label": "DRIFT_CLASSES", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L234", + "_origin": "ast", + "id": "components_floatingflowers_drift_classes", + "community": 37, + "norm_label": "drift_classes" + }, + { + "label": "seededRandom()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "components_floatingflowers_seededrandom", + "community": 37, + "norm_label": "seededrandom()" + }, + { + "label": "generateFlowers()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L251", + "_origin": "ast", + "id": "components_floatingflowers_generateflowers", + "community": 37, + "norm_label": "generateflowers()" + }, + { + "label": "FlowerRenderer", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L278", + "_origin": "ast", + "id": "components_floatingflowers_flowerrenderer", + "community": 37, + "norm_label": "flowerrenderer" + }, + { + "label": "FloatingFlowers()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L323", + "_origin": "ast", + "id": "components_floatingflowers_floatingflowers", + "community": 37, + "norm_label": "floatingflowers()" + }, + { + "label": "FlowerDivider()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L354", + "_origin": "ast", + "id": "components_floatingflowers_flowerdivider", + "community": 53, + "norm_label": "flowerdivider()" + }, + { + "label": "FlowerAccent()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L442", + "_origin": "ast", + "id": "components_floatingflowers_floweraccent", + "community": 49, + "norm_label": "floweraccent()" + }, + { + "label": "FlowerVine()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L472", + "_origin": "ast", + "id": "components_floatingflowers_flowervine", + "community": 37, + "norm_label": "flowervine()" + }, + { + "label": "Footer.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_footer", + "community": 43, + "norm_label": "footer.tsx" + }, + { + "label": "Footer()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "components_footer_footer", + "community": 43, + "norm_label": "footer()" + }, + { + "label": "HomeSections.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_homesections", + "community": 53, + "norm_label": "homesections.tsx" + }, + { + "label": "HomeSections()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "components_homesections_homesections", + "community": 53, + "norm_label": "homesections()" + }, + { + "label": "LazySection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_lazysection", + "community": 53, + "norm_label": "lazysection.tsx" + }, + { + "label": "LazySection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "components_lazysection_lazysection", + "community": 53, + "norm_label": "lazysection()" + }, + { + "label": "Navbar.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_navbar", + "community": 43, + "norm_label": "navbar.tsx" + }, + { + "label": "navItems", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "components_navbar_navitems", + "community": 43, + "norm_label": "navitems" + }, + { + "label": "Navbar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "components_navbar_navbar", + "community": 43, + "norm_label": "navbar()" + }, + { + "label": "ServiceWorkerRegistrar.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_serviceworkerregistrar", + "community": 43, + "norm_label": "serviceworkerregistrar.tsx" + }, + { + "label": "ServiceWorkerRegistrar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "components_serviceworkerregistrar_serviceworkerregistrar", + "community": 43, + "norm_label": "serviceworkerregistrar()" + }, + { + "label": "AboutSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_aboutsection", + "community": 49, + "norm_label": "aboutsection.tsx" + }, + { + "label": "AboutSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sections_aboutsection_aboutsection", + "community": 49, + "norm_label": "aboutsection()" + }, + { + "label": "FAQSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_faqsection", + "community": 49, + "norm_label": "faqsection.tsx" + }, + { + "label": "FAQCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_faqsection_faqcard", + "community": 49, + "norm_label": "faqcard()" + }, + { + "label": "FAQ()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L82", + "_origin": "ast", + "id": "sections_faqsection_faq", + "community": 49, + "norm_label": "faq()" + }, + { + "label": "PrizeAndSpeakerSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_prizeandspeakersection", + "community": 76, + "norm_label": "prizeandspeakersection.tsx" + }, + { + "label": "PrizeTicket()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_prizeandspeakersection_prizeticket", + "community": 76, + "norm_label": "prizeticket()" + }, + { + "label": "TrackPrizeCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L81", + "_origin": "ast", + "id": "sections_prizeandspeakersection_trackprizecard", + "community": 76, + "norm_label": "trackprizecard()" + }, + { + "label": "SpeakerAvatar()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L145", + "_origin": "ast", + "id": "sections_prizeandspeakersection_speakeravatar", + "community": 76, + "norm_label": "speakeravatar()" + }, + { + "label": "SpeakerCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "sections_prizeandspeakersection_speakercard", + "community": 76, + "norm_label": "speakercard()" + }, + { + "label": "PrizeAndSpeakerSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L290", + "_origin": "ast", + "id": "sections_prizeandspeakersection_prizeandspeakersection", + "community": 76, + "norm_label": "prizeandspeakersection()" + }, + { + "label": "Schedule.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_schedule", + "community": 69, + "norm_label": "schedule.tsx" + }, + { + "label": "Schedule()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "schedule_schedule_schedule", + "community": 69, + "norm_label": "schedule()" + }, + { + "label": "data.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_data", + "community": 69, + "norm_label": "data.ts" + }, + { + "label": "ScheduleEvent", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "_origin": "ast", + "id": "schedule_data_scheduleevent", + "community": 69, + "norm_label": "scheduleevent" + }, + { + "label": "DaySchedule", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L8", + "_origin": "ast", + "id": "schedule_data_dayschedule", + "community": 69, + "norm_label": "dayschedule" + }, + { + "label": "scheduleData", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L9", + "_origin": "ast", + "id": "schedule_data_scheduledata", + "community": 69, + "norm_label": "scheduledata" + }, + { + "label": "categories", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L142", + "_origin": "ast", + "id": "schedule_data_categories", + "community": 69, + "norm_label": "categories" + }, + { + "label": "Sponsor.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_sponsor", + "community": 77, + "norm_label": "sponsor.tsx" + }, + { + "label": "goldSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_sponsor_goldsponsors", + "community": 77, + "norm_label": "goldsponsors" + }, + { + "label": "silverSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "sections_sponsor_silversponsors", + "community": 77, + "norm_label": "silversponsors" + }, + { + "label": "bronzeSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "sections_sponsor_bronzesponsors", + "community": 77, + "norm_label": "bronzesponsors" + }, + { + "label": "miniSponsors", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "sections_sponsor_minisponsors", + "community": 77, + "norm_label": "minisponsors" + }, + { + "label": "SponsorsSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L34", + "_origin": "ast", + "id": "sections_sponsor_sponsorssection", + "community": 77, + "norm_label": "sponsorssection()" + }, + { + "label": "TracksSection.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sections_trackssection", + "community": 49, + "norm_label": "trackssection.tsx" + }, + { + "label": "Icons", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "sections_trackssection_icons", + "community": 49, + "norm_label": "icons" + }, + { + "label": "TrackCard()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L84", + "_origin": "ast", + "id": "sections_trackssection_trackcard", + "community": 49, + "norm_label": "trackcard()" + }, + { + "label": "TracksSection()", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L125", + "_origin": "ast", + "id": "sections_trackssection_trackssection", + "community": 49, + "norm_label": "trackssection()" + }, + { + "label": "button.tsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "ui_button", + "community": 73, + "norm_label": "button.tsx" + }, + { + "label": "buttonVariants", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "ui_button_buttonvariants", + "community": 73, + "norm_label": "buttonvariants" + }, + { + "label": "ButtonProps", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "ui_button_buttonprops", + "community": 73, + "norm_label": "buttonprops" + }, + { + "label": "Button", + "file_type": "code", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L43", + "_origin": "ast", + "id": "ui_button_button", + "community": 73, + "norm_label": "button" + }, + { + "label": "eslint.config.mjs", + "file_type": "code", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_eslint_config", + "community": 39, + "norm_label": "eslint.config.mjs" + }, + { + "label": "utils.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L1", + "_origin": "ast", + "id": "lib_utils", + "community": 73, + "norm_label": "utils.ts" + }, + { + "label": "cn()", + "file_type": "code", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L8", + "_origin": "ast", + "id": "lib_utils_cn", + "community": 73, + "norm_label": "cn()" + }, + { + "label": "next-env.d.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/next-env.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_next_env_d", + "community": 122, + "norm_label": "next-env.d.ts" + }, + { + "label": "next.config.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_next_config", + "community": 105, + "norm_label": "next.config.ts" + }, + { + "label": "nextConfig", + "file_type": "code", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_next_config_nextconfig", + "community": 105, + "norm_label": "nextconfig" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_package", + "community": 5, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_package_name", + "community": 5, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_package_version", + "community": 5, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_package_private", + "community": 5, + "norm_label": "private" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_package_scripts", + "community": 5, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_dev", + "community": 5, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_build", + "community": 5, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_start", + "community": 5, + "norm_label": "start" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_lint", + "community": 5, + "norm_label": "lint" + }, + { + "label": "export", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_export", + "community": 5, + "norm_label": "export" + }, + { + "label": "e2e", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_e2e", + "community": 5, + "norm_label": "e2e" + }, + { + "label": "vision", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_package_scripts_vision", + "community": 5, + "norm_label": "vision" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies", + "community": 5, + "norm_label": "dependencies" + }, + { + "label": "@radix-ui/react-slot", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_radix_ui_react_slot", + "community": 5, + "norm_label": "@radix-ui/react-slot" + }, + { + "label": "@yudiel/react-qr-scanner", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_yudiel_react_qr_scanner", + "community": 5, + "norm_label": "@yudiel/react-qr-scanner" + }, + { + "label": "babel-plugin-react-compiler", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_babel_plugin_react_compiler", + "community": 5, + "norm_label": "babel-plugin-react-compiler" + }, + { + "label": "class-variance-authority", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_class_variance_authority", + "community": 5, + "norm_label": "class-variance-authority" + }, + { + "label": "clsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_clsx", + "community": 5, + "norm_label": "clsx" + }, + { + "label": "firebase", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_firebase", + "community": 5, + "norm_label": "firebase" + }, + { + "label": "next", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_next", + "community": 5, + "norm_label": "next" + }, + { + "label": "react", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react", + "community": 5, + "norm_label": "react" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react_dom", + "community": 5, + "norm_label": "react-dom" + }, + { + "label": "react-icons", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_react_icons", + "community": 5, + "norm_label": "react-icons" + }, + { + "label": "tailwind-merge", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "hacklytics2027_package_dependencies_tailwind_merge", + "community": 5, + "norm_label": "tailwind-merge" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies", + "community": 5, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_next_eslint_plugin_next", + "community": 5, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@playwright/test", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_playwright_test", + "community": 5, + "norm_label": "@playwright/test" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_tailwindcss_postcss", + "community": 5, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_node", + "community": 5, + "norm_label": "@types/node" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_react", + "community": 5, + "norm_label": "@types/react" + }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_types_react_dom", + "community": 5, + "norm_label": "@types/react-dom" + }, + { + "label": "autoprefixer", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_autoprefixer", + "community": 5, + "norm_label": "autoprefixer" + }, + { + "label": "baseline-browser-mapping", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_baseline_browser_mapping", + "community": 5, + "norm_label": "baseline-browser-mapping" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_eslint", + "community": 5, + "norm_label": "eslint" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_postcss", + "community": 5, + "norm_label": "postcss" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_tailwindcss", + "community": 5, + "norm_label": "tailwindcss" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_typescript", + "community": 5, + "norm_label": "typescript" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "hacklytics2027_package_devdependencies_typescript_eslint", + "community": 5, + "norm_label": "typescript-eslint" + }, + { + "label": "playwright.config.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/playwright.config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_playwright_config", + "community": 123, + "norm_label": "playwright.config.ts" + }, + { + "label": "postcss.config.mjs", + "file_type": "code", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_postcss_config", + "community": 106, + "norm_label": "postcss.config.mjs" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_postcss_config_config", + "community": 106, + "norm_label": "config" + }, + { + "label": "proxy.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_proxy", + "community": 56, + "norm_label": "proxy.ts" + }, + { + "label": "getCacheControl()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_proxy_getcachecontrol", + "community": 56, + "norm_label": "getcachecontrol()" + }, + { + "label": "getETag()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L38", + "_origin": "ast", + "id": "hacklytics2027_proxy_getetag", + "community": 56, + "norm_label": "getetag()" + }, + { + "label": "getLastModified()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L44", + "_origin": "ast", + "id": "hacklytics2027_proxy_getlastmodified", + "community": 56, + "norm_label": "getlastmodified()" + }, + { + "label": "handleETag()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L49", + "_origin": "ast", + "id": "hacklytics2027_proxy_handleetag", + "community": 56, + "norm_label": "handleetag()" + }, + { + "label": "handleLastModified()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L60", + "_origin": "ast", + "id": "hacklytics2027_proxy_handlelastmodified", + "community": 56, + "norm_label": "handlelastmodified()" + }, + { + "label": "securityHeaders", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L71", + "_origin": "ast", + "id": "hacklytics2027_proxy_securityheaders", + "community": 56, + "norm_label": "securityheaders" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L78", + "_origin": "ast", + "id": "hacklytics2027_proxy_config", + "community": 56, + "norm_label": "config" + }, + { + "label": "proxy()", + "file_type": "code", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L84", + "_origin": "ast", + "id": "hacklytics2027_proxy_proxy", + "community": 56, + "norm_label": "proxy()" + }, + { + "label": "sw.js", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L1", + "_origin": "ast", + "id": "public_sw", + "community": 68, + "norm_label": "sw.js" + }, + { + "label": "PRECACHE_URLS", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L6", + "_origin": "ast", + "id": "public_sw_precache_urls", + "community": 68, + "norm_label": "precache_urls" + }, + { + "label": "isStaticAsset()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L40", + "_origin": "ast", + "id": "public_sw_isstaticasset", + "community": 68, + "norm_label": "isstaticasset()" + }, + { + "label": "isNavigationRequest()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L51", + "_origin": "ast", + "id": "public_sw_isnavigationrequest", + "community": 68, + "norm_label": "isnavigationrequest()" + }, + { + "label": "cacheFirst()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L62", + "_origin": "ast", + "id": "public_sw_cachefirst", + "community": 68, + "norm_label": "cachefirst()" + }, + { + "label": "staleWhileRevalidate()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L84", + "_origin": "ast", + "id": "public_sw_stalewhilerevalidate", + "community": 68, + "norm_label": "stalewhilerevalidate()" + }, + { + "label": "networkFirst()", + "file_type": "code", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L118", + "_origin": "ast", + "id": "public_sw_networkfirst", + "community": 68, + "norm_label": "networkfirst()" + }, + { + "label": "capture-vision.js", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "community": 88, + "norm_label": "capture-vision.js" + }, + { + "label": "{ chromium }", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "_origin": "ast", + "id": "scripts_capture_vision_chromium", + "community": 88, + "norm_label": "{ chromium }" + }, + { + "label": "path", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L2", + "_origin": "ast", + "id": "scripts_capture_vision_path", + "community": 88, + "norm_label": "path" + }, + { + "label": "captureVision()", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L4", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision_capturevision", + "community": 88, + "norm_label": "capturevision()" + }, + { + "label": "capture-vision.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L1", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision", + "community": 117, + "norm_label": "capture-vision.ts" + }, + { + "label": "captureVision()", + "file_type": "code", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L7", + "_origin": "ast", + "id": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision_capturevision", + "community": 117, + "norm_label": "capturevision()" + }, + { + "label": "frontend.spec.ts", + "file_type": "code", + "source_file": "sites/hacklytics2027/tests/frontend.spec.ts", + "source_location": "L1", + "_origin": "ast", + "id": "tests_frontend_spec", + "community": 130, + "norm_label": "frontend.spec.ts" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_tsconfig", + "community": 27, + "norm_label": "tsconfig.json" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions", + "community": 27, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_target", + "community": 27, + "norm_label": "target" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_lib", + "community": 27, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_allowjs", + "community": 27, + "norm_label": "allowjs" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_skiplibcheck", + "community": 27, + "norm_label": "skiplibcheck" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_noemit", + "community": 27, + "norm_label": "noemit" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_esmoduleinterop", + "community": 27, + "norm_label": "esmoduleinterop" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_module", + "community": 27, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_moduleresolution", + "community": 27, + "norm_label": "moduleresolution" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_resolvejsonmodule", + "community": 27, + "norm_label": "resolvejsonmodule" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_isolatedmodules", + "community": 27, + "norm_label": "isolatedmodules" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_jsx", + "community": 27, + "norm_label": "jsx" + }, + { + "label": "incremental", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_incremental", + "community": 27, + "norm_label": "incremental" + }, + { + "label": "plugins", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_plugins", + "community": 27, + "norm_label": "plugins" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_paths", + "community": 27, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L21", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_paths", + "community": 27, + "norm_label": "@/*" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_compileroptions_strict", + "community": 27, + "norm_label": "strict" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L25", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_include", + "community": 27, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_tsconfig_exclude", + "community": 27, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_turbo", + "community": 72, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "hacklytics2027_turbo_schema", + "community": 72, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_turbo_extends", + "community": 72, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "hacklytics2027_turbo_tasks", + "community": 72, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "hacklytics2027_turbo_tasks_build", + "community": 72, + "norm_label": "build" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "hacklytics2027_turbo_build_outputs", + "community": 72, + "norm_label": "outputs" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "analytics_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "StatCardProps", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "analytics_page_statcardprops", + "community": 15, + "norm_label": "statcardprops" + }, + { + "label": "AnalyticsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "analytics_page_analyticspage", + "community": 15, + "norm_label": "analyticspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "AttendeesPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "attendees_page_attendeespage", + "community": 10, + "norm_label": "attendeespage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "AdminAttendeeViewer()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "attendees_page_adminattendeeviewer", + "community": 18, + "norm_label": "adminattendeeviewer()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "community": 19, + "norm_label": "page.tsx" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "id_page_tab", + "community": 19, + "norm_label": "tab" + }, + { + "label": "AdminHackathonDashboard()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "id_page_adminhackathondashboard", + "community": 19, + "norm_label": "adminhackathondashboard()" + }, + { + "label": "IconScanner()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L223", + "_origin": "ast", + "id": "id_page_iconscanner", + "community": 19, + "norm_label": "iconscanner()" + }, + { + "label": "IconUsers()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L241", + "_origin": "ast", + "id": "id_page_iconusers", + "community": 19, + "norm_label": "iconusers()" + }, + { + "label": "IconChart()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L259", + "_origin": "ast", + "id": "id_page_iconchart", + "community": 19, + "norm_label": "iconchart()" + }, + { + "label": "IconCalendar()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L277", + "_origin": "ast", + "id": "id_page_iconcalendar", + "community": 19, + "norm_label": "iconcalendar()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "AdminError()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_error_adminerror", + "community": 10, + "norm_label": "adminerror()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "AdminHackathonsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "hackathons_page_adminhackathonspage", + "community": 15, + "norm_label": "adminhackathonspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_page", + "community": 14, + "norm_label": "page.tsx" + }, + { + "label": "AdminResultsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L14", + "_origin": "ast", + "id": "judging_page_adminresultspage", + "community": 14, + "norm_label": "adminresultspage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "admin_layout", + "community": 15, + "norm_label": "layout.tsx" + }, + { + "label": "Layout()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "admin_layout_layout", + "community": 15, + "norm_label": "layout()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "admin_page", + "community": 17, + "norm_label": "page.tsx" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "admin_page_event", + "community": 17, + "norm_label": "event" + }, + { + "label": "AdminPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "admin_page_adminpage", + "community": 17, + "norm_label": "adminpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "ProjectsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page_projectspage", + "community": 15, + "norm_label": "projectspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "settings_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "AdminSettingsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "settings_page_adminsettingspage", + "community": 15, + "norm_label": "adminsettingspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_page", + "community": 34, + "norm_label": "page.tsx" + }, + { + "label": "ParsedJudge", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "setup_page_parsedjudge", + "community": 34, + "norm_label": "parsedjudge" + }, + { + "label": "ParsedProject", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "setup_page_parsedproject", + "community": 34, + "norm_label": "parsedproject" + }, + { + "label": "parseCSV()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "setup_page_parsecsv", + "community": 34, + "norm_label": "parsecsv()" + }, + { + "label": "AdminSetupPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L33", + "_origin": "ast", + "id": "setup_page_adminsetuppage", + "community": 34, + "norm_label": "adminsetuppage()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "nextauth_route", + "community": 107, + "norm_label": "route.ts" + }, + { + "label": "HEAD()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L7", + "_origin": "ast", + "id": "nextauth_route_head", + "community": 107, + "norm_label": "head()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "verify_email_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "POST()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L24", + "_origin": "ast", + "id": "verify_email_route_post", + "community": 12, + "norm_label": "post()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "cleanup_audit_logs_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "GET()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L5", + "_origin": "ast", + "id": "cleanup_audit_logs_route_get", + "community": 2, + "norm_label": "get()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathonid_route", + "community": 30, + "norm_label": "route.ts" + }, + { + "label": "GET()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L26", + "_origin": "ast", + "id": "hackathonid_route_get", + "community": 30, + "norm_label": "get()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "trpc_route", + "community": 13, + "norm_label": "route.ts" + }, + { + "label": "handler()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L4", + "_origin": "ast", + "id": "trpc_route_handler", + "community": 13, + "norm_label": "handler()" + }, + { + "label": "route.ts", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L1", + "_origin": "ast", + "id": "stripe_route", + "community": 2, + "norm_label": "route.ts" + }, + { + "label": "Tx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L9", + "_origin": "ast", + "id": "stripe_route_tx", + "community": 2, + "norm_label": "tx" + }, + { + "label": "POST()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L17", + "_origin": "ast", + "id": "stripe_route_post", + "community": 2, + "norm_label": "post()" + }, + { + "label": "createOrUpdateMembership()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L160", + "_origin": "ast", + "id": "stripe_route_createorupdatemembership", + "community": 2, + "norm_label": "createorupdatemembership()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "error_page", + "community": 90, + "norm_label": "page.tsx" + }, + { + "label": "AuthErrorContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "error_page_autherrorcontent", + "community": 90, + "norm_label": "autherrorcontent()" + }, + { + "label": "AuthErrorPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "error_page_autherrorpage", + "community": 90, + "norm_label": "autherrorpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "club_page", + "community": 17, + "norm_label": "page.tsx" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "club_page_tab", + "community": 17, + "norm_label": "tab" + }, + { + "label": "ClubPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "club_page_clubpage", + "community": 17, + "norm_label": "clubpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "StatusBadge()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "dashboard_page_statusbadge", + "community": 10, + "norm_label": "statusbadge()" + }, + { + "label": "Dashboard()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L71", + "_origin": "ast", + "id": "dashboard_page_dashboard", + "community": 10, + "norm_label": "dashboard()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "id_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "Error()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "id_error_error", + "community": 10, + "norm_label": "error()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "id_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "id_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "community": 32, + "norm_label": "page.tsx" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "id_page_formatdate", + "community": 32, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "id_page_formatdaterange", + "community": 32, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "id_page_statusconfig", + "community": 32, + "norm_label": "statusconfig()" + }, + { + "label": "TabType", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L102", + "_origin": "ast", + "id": "id_page_tabtype", + "community": 32, + "norm_label": "tabtype" + }, + { + "label": "HackathonDetailPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "id_page_hackathondetailpage", + "community": 32, + "norm_label": "hackathondetailpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "participants_page", + "community": 32, + "norm_label": "page.tsx" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "participants_page_formatdate", + "community": 32, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "participants_page_formatdaterange", + "community": 32, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "participants_page_statusconfig", + "community": 32, + "norm_label": "statusconfig()" + }, + { + "label": "TabType", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L102", + "_origin": "ast", + "id": "participants_page_tabtype", + "community": 32, + "norm_label": "tabtype" + }, + { + "label": "ParticipantHackathonPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L104", + "_origin": "ast", + "id": "participants_page_participanthackathonpage", + "community": 32, + "norm_label": "participanthackathonpage()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "Error()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_error_error", + "community": 10, + "norm_label": "error()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "HackathonStatus", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "hackathons_page_hackathonstatus", + "community": 18, + "norm_label": "hackathonstatus" + }, + { + "label": "Tab", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "hackathons_page_tab", + "community": 18, + "norm_label": "tab" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "hackathons_page_formatdate", + "community": 18, + "norm_label": "formatdate()" + }, + { + "label": "formatDateRange()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L36", + "_origin": "ast", + "id": "hackathons_page_formatdaterange", + "community": 18, + "norm_label": "formatdaterange()" + }, + { + "label": "statusConfig()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L48", + "_origin": "ast", + "id": "hackathons_page_statusconfig", + "community": 18, + "norm_label": "statusconfig()" + }, + { + "label": "HackathonsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L121", + "_origin": "ast", + "id": "hackathons_page_hackathonspage", + "community": 18, + "norm_label": "hackathonspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "HackathonData", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "judge_page_hackathondata", + "community": 18, + "norm_label": "hackathondata" + }, + { + "label": "JudgePage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L23", + "_origin": "ast", + "id": "judge_page_judgepage", + "community": 18, + "norm_label": "judgepage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "register_page", + "community": 9, + "norm_label": "page.tsx" + }, + { + "label": "JUDGE_REGISTRATION_STEPS", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "register_page_judge_registration_steps", + "community": 9, + "norm_label": "judge_registration_steps" + }, + { + "label": "JudgeRegisterPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "register_page_judgeregisterpage", + "community": 9, + "norm_label": "judgeregisterpage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_layout", + "community": 59, + "norm_label": "layout.tsx" + }, + { + "label": "PortalLayout()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_layout_portallayout", + "community": 59, + "norm_label": "portallayout()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "login_page", + "community": 15, + "norm_label": "page.tsx" + }, + { + "label": "Home()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "login_page_home", + "community": 15, + "norm_label": "home()" + }, + { + "label": "providers.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_providers", + "community": 59, + "norm_label": "providers.tsx" + }, + { + "label": "Providers()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "portal_providers_providers", + "community": 59, + "norm_label": "providers()" + }, + { + "label": "error.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_error", + "community": 10, + "norm_label": "error.tsx" + }, + { + "label": "SubmitError()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "submit_error_submiterror", + "community": 10, + "norm_label": "submiterror()" + }, + { + "label": "loading.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_loading", + "community": 18, + "norm_label": "loading.tsx" + }, + { + "label": "Loading()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "submit_loading_loading", + "community": 18, + "norm_label": "loading()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "submit_page", + "community": 18, + "norm_label": "page.tsx" + }, + { + "label": "SubmitPortalContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "submit_page_submitportalcontent", + "community": 18, + "norm_label": "submitportalcontent()" + }, + { + "label": "SubmitPortalPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L516", + "_origin": "ast", + "id": "submit_page_submitportalpage", + "community": 18, + "norm_label": "submitportalpage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "verify_page", + "community": 10, + "norm_label": "page.tsx" + }, + { + "label": "VerifyContent()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "verify_page_verifycontent", + "community": 10, + "norm_label": "verifycontent()" + }, + { + "label": "VerifyPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L294", + "_origin": "ast", + "id": "verify_page_verifypage", + "community": 10, + "norm_label": "verifypage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "bootcamp_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "curriculum", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "bootcamp_page_curriculum", + "community": 0, + "norm_label": "curriculum" + }, + { + "label": "BootcampPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L70", + "_origin": "ast", + "id": "bootcamp_page_bootcamppage", + "community": 0, + "norm_label": "bootcamppage()" + }, + { + "label": "DocsPageClient.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "docs_docspageclient", + "community": 50, + "norm_label": "docspageclient.tsx" + }, + { + "label": "DocSection", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "docs_docspageclient_docsection", + "community": 50, + "norm_label": "docsection" + }, + { + "label": "NAV_ITEMS", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "docs_docspageclient_nav_items", + "community": 50, + "norm_label": "nav_items" + }, + { + "label": "CodeBlock()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "docs_docspageclient_codeblock", + "community": 50, + "norm_label": "codeblock()" + }, + { + "label": "InfoCard()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L89", + "_origin": "ast", + "id": "docs_docspageclient_infocard", + "community": 50, + "norm_label": "infocard()" + }, + { + "label": "ApiEndpoint()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L145", + "_origin": "ast", + "id": "docs_docspageclient_apiendpoint", + "community": 50, + "norm_label": "apiendpoint()" + }, + { + "label": "SchemaTable()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L199", + "_origin": "ast", + "id": "docs_docspageclient_schematable", + "community": 50, + "norm_label": "schematable()" + }, + { + "label": "DocsPageClient()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L255", + "_origin": "ast", + "id": "docs_docspageclient_docspageclient", + "community": 50, + "norm_label": "docspageclient()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "docs_page", + "community": 50, + "norm_label": "page.tsx" + }, + { + "label": "DocsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "docs_page_docspage", + "community": 50, + "norm_label": "docspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "events_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "EventsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "events_page_eventspage", + "community": 0, + "norm_label": "eventspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "history_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "HistoryPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "history_page_historypage", + "community": 0, + "norm_label": "historypage()" + }, + { + "label": "layout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout", + "community": 79, + "norm_label": "layout.tsx" + }, + { + "label": "metadata", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout_metadata", + "community": 79, + "norm_label": "metadata" + }, + { + "label": "RootLayout()", + "file_type": "code", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "sites_mainweb_app_layout_tsx_app_layout_rootlayout", + "community": 79, + "norm_label": "rootlayout()" + }, + { + "label": "not-found.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_not_found_tsx_app_not_found", + "community": 0, + "norm_label": "not-found.tsx" + }, + { + "label": "NotFound()", + "file_type": "code", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "sites_mainweb_app_not_found_tsx_app_not_found_notfound", + "community": 0, + "norm_label": "notfound()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_page_tsx_app_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Pie", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "app_page_pie", + "community": 0, + "norm_label": "pie" + }, + { + "label": "PieTooltipItem", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L39", + "_origin": "ast", + "id": "app_page_pietooltipitem", + "community": 0, + "norm_label": "pietooltipitem" + }, + { + "label": "Home()", + "file_type": "code", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L41", + "_origin": "ast", + "id": "app_page_home", + "community": 0, + "norm_label": "home()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "sites_mainweb_app_projects_page_tsx_projects_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "projects_page_project", + "community": 0, + "norm_label": "project" + }, + { + "label": "projects", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "projects_page_projects", + "community": 0, + "norm_label": "projects" + }, + { + "label": "ProjectsPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L69", + "_origin": "ast", + "id": "sites_mainweb_app_projects_page_tsx_projects_page_projectspage", + "community": 0, + "norm_label": "projectspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "status_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "StatusPage()", + "file_type": "code", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "status_page_statuspage", + "community": 0, + "norm_label": "statuspage()" + }, + { + "label": "page.tsx", + "file_type": "code", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "team_page", + "community": 0, + "norm_label": "page.tsx" + }, + { + "label": "Team()", + "file_type": "code", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "team_page_team", + "community": 0, + "norm_label": "team()" + }, + { + "label": "demographics.js", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "_origin": "ast", + "id": "data_demographics", + "community": 0, + "norm_label": "demographics.js" + }, + { + "label": "ClassData", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "_origin": "ast", + "id": "data_demographics_classdata", + "community": 0, + "norm_label": "classdata" + }, + { + "label": "MajorData", + "file_type": "code", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L27", + "_origin": "ast", + "id": "data_demographics_majordata", + "community": 0, + "norm_label": "majordata" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "background_index", + "community": 10, + "norm_label": "index.tsx" + }, + { + "label": "BackgroundProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "background_index_backgroundprops", + "community": 10, + "norm_label": "backgroundprops" + }, + { + "label": "Background()", + "file_type": "code", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "background_index_background", + "community": 10, + "norm_label": "background()" + }, + { + "label": "Card.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_card", + "community": 0, + "norm_label": "card.tsx" + }, + { + "label": "CardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_card_cardprops", + "community": 0, + "norm_label": "cardprops" + }, + { + "label": "Card()", + "file_type": "code", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "components_card_card", + "community": 0, + "norm_label": "card()" + }, + { + "label": "EventsList.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "components_eventslist", + "community": 0, + "norm_label": "eventslist.tsx" + }, + { + "label": "EventsList()", + "file_type": "code", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "components_eventslist_eventslist", + "community": 0, + "norm_label": "eventslist()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "footer_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "FooterProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "footer_index_footerprops", + "community": 0, + "norm_label": "footerprops" + }, + { + "label": "Footer()", + "file_type": "code", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "footer_index_footer", + "community": 0, + "norm_label": "footer()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hero_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "HeroProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "hero_index_heroprops", + "community": 0, + "norm_label": "heroprops" + }, + { + "label": "Hero()", + "file_type": "code", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L16", + "_origin": "ast", + "id": "hero_index_hero", + "community": 0, + "norm_label": "hero()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "navbar_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "NavbarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "navbar_index_navbarprops", + "community": 0, + "norm_label": "navbarprops" + }, + { + "label": "Navbar()", + "file_type": "code", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "navbar_index_navbar", + "community": 0, + "norm_label": "navbar()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "section_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "SectionProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "section_index_sectionprops", + "community": 0, + "norm_label": "sectionprops" + }, + { + "label": "Section()", + "file_type": "code", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "section_index_section", + "community": 0, + "norm_label": "section()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "smallhero_index", + "community": 97, + "norm_label": "index.tsx" + }, + { + "label": "SmallHeroProps", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "smallhero_index_smallheroprops", + "community": 97, + "norm_label": "smallheroprops" + }, + { + "label": "SmallHero()", + "file_type": "code", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "smallhero_index_smallhero", + "community": 97, + "norm_label": "smallhero()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "teamcard_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "TeamCardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "teamcard_index_teamcardprops", + "community": 0, + "norm_label": "teamcardprops" + }, + { + "label": "TeamCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "teamcard_index_teamcard", + "community": 0, + "norm_label": "teamcard()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "major_index", + "community": 93, + "norm_label": "index.tsx" + }, + { + "label": "MajorProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "major_index_majorprops", + "community": 93, + "norm_label": "majorprops" + }, + { + "label": "Major()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "major_index_major", + "community": 93, + "norm_label": "major()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "mini_index", + "community": 0, + "norm_label": "index.tsx" + }, + { + "label": "MiniProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "mini_index_miniprops", + "community": 0, + "norm_label": "miniprops" + }, + { + "label": "Mini()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "mini_index_mini", + "community": 0, + "norm_label": "mini()" + }, + { + "label": "index.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "minor_index", + "community": 94, + "norm_label": "index.tsx" + }, + { + "label": "MinorProps", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "minor_index_minorprops", + "community": 94, + "norm_label": "minorprops" + }, + { + "label": "Minor()", + "file_type": "code", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "minor_index_minor", + "community": 94, + "norm_label": "minor()" + }, + { + "label": "EventHeader.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "events_eventheader", + "community": 104, + "norm_label": "eventheader.tsx" + }, + { + "label": "EventHeader()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "events_eventheader_eventheader", + "community": 104, + "norm_label": "eventheader()" + }, + { + "label": "AnalyticsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_analyticstab", + "community": 19, + "norm_label": "analyticstab.tsx" + }, + { + "label": "AnalyticsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_analyticstab_analyticstab", + "community": 19, + "norm_label": "analyticstab()" + }, + { + "label": "AttendeesTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_attendeestab", + "community": 19, + "norm_label": "attendeestab.tsx" + }, + { + "label": "RegistrationStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "hackathons_attendeestab_registrationstatus", + "community": 19, + "norm_label": "registrationstatus" + }, + { + "label": "statusColors()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L27", + "_origin": "ast", + "id": "hackathons_attendeestab_statuscolors", + "community": 19, + "norm_label": "statuscolors()" + }, + { + "label": "statusIcon()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L44", + "_origin": "ast", + "id": "hackathons_attendeestab_statusicon", + "community": 19, + "norm_label": "statusicon()" + }, + { + "label": "AttendeesTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L61", + "_origin": "ast", + "id": "hackathons_attendeestab_attendeestab", + "community": 19, + "norm_label": "attendeestab()" + }, + { + "label": "CreateHackathonForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_createhackathonform", + "community": 15, + "norm_label": "createhackathonform.tsx" + }, + { + "label": "CreateHackathonForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathons_createhackathonform_createhackathonform", + "community": 15, + "norm_label": "createhackathonform()" + }, + { + "label": "EditHackathonForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_edithackathonform", + "community": 15, + "norm_label": "edithackathonform.tsx" + }, + { + "label": "EditHackathonForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathons_edithackathonform_edithackathonform", + "community": 15, + "norm_label": "edithackathonform()" + }, + { + "label": "EventsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_eventstab", + "community": 19, + "norm_label": "eventstab.tsx" + }, + { + "label": "EventType", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathons_eventstab_eventtype", + "community": 19, + "norm_label": "eventtype" + }, + { + "label": "EVENT_TYPES", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "hackathons_eventstab_event_types", + "community": 19, + "norm_label": "event_types" + }, + { + "label": "getTypeMeta()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L59", + "_origin": "ast", + "id": "hackathons_eventstab_gettypemeta", + "community": 19, + "norm_label": "gettypemeta()" + }, + { + "label": "EventFormData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L63", + "_origin": "ast", + "id": "hackathons_eventstab_eventformdata", + "community": 19, + "norm_label": "eventformdata" + }, + { + "label": "emptyForm", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L73", + "_origin": "ast", + "id": "hackathons_eventstab_emptyform", + "community": 19, + "norm_label": "emptyform" + }, + { + "label": "EventsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "hackathons_eventstab_eventstab", + "community": 19, + "norm_label": "eventstab()" + }, + { + "label": "HackathonCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_hackathoncard", + "community": 15, + "norm_label": "hackathoncard.tsx" + }, + { + "label": "HackathonCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_hackathoncard_hackathoncard", + "community": 15, + "norm_label": "hackathoncard()" + }, + { + "label": "JudgesTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_judgestab", + "community": 19, + "norm_label": "judgestab.tsx" + }, + { + "label": "JudgesTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_judgestab_judgestab", + "community": 19, + "norm_label": "judgestab()" + }, + { + "label": "ScannerTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_scannertab", + "community": 17, + "norm_label": "scannertab.tsx" + }, + { + "label": "ScannerTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_scannertab_scannertab", + "community": 17, + "norm_label": "scannertab()" + }, + { + "label": "constants.ts", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_constants", + "community": 15, + "norm_label": "constants.ts" + }, + { + "label": "HackathonStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathons_constants_hackathonstatus", + "community": 15, + "norm_label": "hackathonstatus" + }, + { + "label": "STATUSES", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L9", + "_origin": "ast", + "id": "hackathons_constants_statuses", + "community": 15, + "norm_label": "statuses" + }, + { + "label": "getStatusMeta()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L60", + "_origin": "ast", + "id": "hackathons_constants_getstatusmeta", + "community": 15, + "norm_label": "getstatusmeta()" + }, + { + "label": "toInputDate()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L66", + "_origin": "ast", + "id": "hackathons_constants_toinputdate", + "community": 15, + "norm_label": "toinputdate()" + }, + { + "label": "JudgeMatrixView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_judgematrixview", + "community": 14, + "norm_label": "judgematrixview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_judgematrixview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Vote", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "judging_judgematrixview_vote", + "community": 14, + "norm_label": "vote" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "judging_judgematrixview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "judging_judgematrixview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "JudgeMatrixViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "judging_judgematrixview_judgematrixviewprops", + "community": 14, + "norm_label": "judgematrixviewprops" + }, + { + "label": "JudgeMatrixView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L32", + "_origin": "ast", + "id": "judging_judgematrixview_judgematrixview", + "community": 14, + "norm_label": "judgematrixview()" + }, + { + "label": "JudgingTools.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_judgingtools", + "community": 14, + "norm_label": "judgingtools.tsx" + }, + { + "label": "Hackathon", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "judging_judgingtools_hackathon", + "community": 14, + "norm_label": "hackathon" + }, + { + "label": "JudgingToolsProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "judging_judgingtools_judgingtoolsprops", + "community": 14, + "norm_label": "judgingtoolsprops" + }, + { + "label": "JudgingTools()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "judging_judgingtools_judgingtools", + "community": 14, + "norm_label": "judgingtools()" + }, + { + "label": "RankingsView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_rankingsview", + "community": 14, + "norm_label": "rankingsview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_rankingsview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Vote", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L18", + "_origin": "ast", + "id": "judging_rankingsview_vote", + "community": 14, + "norm_label": "vote" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L30", + "_origin": "ast", + "id": "judging_rankingsview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "Tie", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L47", + "_origin": "ast", + "id": "judging_rankingsview_tie", + "community": 14, + "norm_label": "tie" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L57", + "_origin": "ast", + "id": "judging_rankingsview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "ProcessedRanking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L64", + "_origin": "ast", + "id": "judging_rankingsview_processedranking", + "community": 14, + "norm_label": "processedranking" + }, + { + "label": "Judge", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L68", + "_origin": "ast", + "id": "judging_rankingsview_judge", + "community": 14, + "norm_label": "judge" + }, + { + "label": "RankingsViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L83", + "_origin": "ast", + "id": "judging_rankingsview_rankingsviewprops", + "community": 14, + "norm_label": "rankingsviewprops" + }, + { + "label": "RankingsView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L91", + "_origin": "ast", + "id": "judging_rankingsview_rankingsview", + "community": 14, + "norm_label": "rankingsview()" + }, + { + "label": "RoomAssignmentsView.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judging_roomassignmentsview", + "community": 14, + "norm_label": "roomassignmentsview.tsx" + }, + { + "label": "Project", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judging_roomassignmentsview_project", + "community": 14, + "norm_label": "project" + }, + { + "label": "Ranking", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "judging_roomassignmentsview_ranking", + "community": 14, + "norm_label": "ranking" + }, + { + "label": "RankingsData", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "judging_roomassignmentsview_rankingsdata", + "community": 14, + "norm_label": "rankingsdata" + }, + { + "label": "RoomAssignmentsViewProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "judging_roomassignmentsview_roomassignmentsviewprops", + "community": 14, + "norm_label": "roomassignmentsviewprops" + }, + { + "label": "RoomAssignmentsView()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L33", + "_origin": "ast", + "id": "judging_roomassignmentsview_roomassignmentsview", + "community": 14, + "norm_label": "roomassignmentsview()" + }, + { + "label": "CreateHackathonStep.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_createhackathonstep", + "community": 34, + "norm_label": "createhackathonstep.tsx" + }, + { + "label": "Hackathon", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "setup_createhackathonstep_hackathon", + "community": 34, + "norm_label": "hackathon" + }, + { + "label": "CreateHackathonStepProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "setup_createhackathonstep_createhackathonstepprops", + "community": 34, + "norm_label": "createhackathonstepprops" + }, + { + "label": "CreateHackathonStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "setup_createhackathonstep_createhackathonstep", + "community": 34, + "norm_label": "createhackathonstep()" + }, + { + "label": "ImportDataStep.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_importdatastep", + "community": 34, + "norm_label": "importdatastep.tsx" + }, + { + "label": "ParsedJudge", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "setup_importdatastep_parsedjudge", + "community": 34, + "norm_label": "parsedjudge" + }, + { + "label": "ParsedProject", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "setup_importdatastep_parsedproject", + "community": 34, + "norm_label": "parsedproject" + }, + { + "label": "ImportJudgesStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "setup_importdatastep_importjudgesstep", + "community": 34, + "norm_label": "importjudgesstep()" + }, + { + "label": "ImportProjectsStep()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L134", + "_origin": "ast", + "id": "setup_importdatastep_importprojectsstep", + "community": 34, + "norm_label": "importprojectsstep()" + }, + { + "label": "SetupWizard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "setup_setupwizard", + "community": 34, + "norm_label": "setupwizard.tsx" + }, + { + "label": "StepProps", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "setup_setupwizard_stepprops", + "community": 34, + "norm_label": "stepprops" + }, + { + "label": "SetupWizard()", + "file_type": "code", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "setup_setupwizard_setupwizard", + "community": 34, + "norm_label": "setupwizard()" + }, + { + "label": "FormComponents.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_formcomponents", + "community": 9, + "norm_label": "formcomponents.tsx" + }, + { + "label": "FormInputProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathon_formcomponents_forminputprops", + "community": 9, + "norm_label": "forminputprops" + }, + { + "label": "FormInput()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "hackathon_formcomponents_forminput", + "community": 9, + "norm_label": "forminput()" + }, + { + "label": "FormTextareaProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L37", + "_origin": "ast", + "id": "hackathon_formcomponents_formtextareaprops", + "community": 9, + "norm_label": "formtextareaprops" + }, + { + "label": "FormTextarea()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L44", + "_origin": "ast", + "id": "hackathon_formcomponents_formtextarea", + "community": 9, + "norm_label": "formtextarea()" + }, + { + "label": "FormChipSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L68", + "_origin": "ast", + "id": "hackathon_formcomponents_formchipselectprops", + "community": 9, + "norm_label": "formchipselectprops" + }, + { + "label": "FormChipSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L77", + "_origin": "ast", + "id": "hackathon_formcomponents_formchipselect", + "community": 9, + "norm_label": "formchipselect()" + }, + { + "label": "FormMultiChipSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L111", + "_origin": "ast", + "id": "hackathon_formcomponents_formmultichipselectprops", + "community": 9, + "norm_label": "formmultichipselectprops" + }, + { + "label": "FormMultiChipSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L119", + "_origin": "ast", + "id": "hackathon_formcomponents_formmultichipselect", + "community": 9, + "norm_label": "formmultichipselect()" + }, + { + "label": "SearchableSelectProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L164", + "_origin": "ast", + "id": "hackathon_formcomponents_searchableselectprops", + "community": 9, + "norm_label": "searchableselectprops" + }, + { + "label": "SearchableSelect()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L174", + "_origin": "ast", + "id": "hackathon_formcomponents_searchableselect", + "community": 9, + "norm_label": "searchableselect()" + }, + { + "label": "StepProgressProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L243", + "_origin": "ast", + "id": "hackathon_formcomponents_stepprogressprops", + "community": 9, + "norm_label": "stepprogressprops" + }, + { + "label": "StepProgress()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L248", + "_origin": "ast", + "id": "hackathon_formcomponents_stepprogress", + "community": 9, + "norm_label": "stepprogress()" + }, + { + "label": "StepContainer()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L271", + "_origin": "ast", + "id": "hackathon_formcomponents_stepcontainer", + "community": 9, + "norm_label": "stepcontainer()" + }, + { + "label": "FormErrorAlert()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L290", + "_origin": "ast", + "id": "hackathon_formcomponents_formerroralert", + "community": 9, + "norm_label": "formerroralert()" + }, + { + "label": "FormNavigationProps", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L314", + "_origin": "ast", + "id": "hackathon_formcomponents_formnavigationprops", + "community": 9, + "norm_label": "formnavigationprops" + }, + { + "label": "FormNavigation()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L324", + "_origin": "ast", + "id": "hackathon_formcomponents_formnavigation", + "community": 9, + "norm_label": "formnavigation()" + }, + { + "label": "InfoTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_infotab", + "community": 9, + "norm_label": "infotab.tsx" + }, + { + "label": "RegistrationStep", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L28", + "_origin": "ast", + "id": "hackathon_infotab_registrationstep", + "community": 9, + "norm_label": "registrationstep" + }, + { + "label": "formatDate()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L30", + "_origin": "ast", + "id": "hackathon_infotab_formatdate", + "community": 9, + "norm_label": "formatdate()" + }, + { + "label": "InfoTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L38", + "_origin": "ast", + "id": "hackathon_infotab_infotab", + "community": 9, + "norm_label": "infotab()" + }, + { + "label": "ProjectsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_projectstab", + "community": 32, + "norm_label": "projectstab.tsx" + }, + { + "label": "ProjectsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "hackathon_projectstab_projectstab", + "community": 32, + "norm_label": "projectstab()" + }, + { + "label": "ScheduleTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_scheduletab", + "community": 32, + "norm_label": "scheduletab.tsx" + }, + { + "label": "ScheduleTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathon_scheduletab_scheduletab", + "community": 32, + "norm_label": "scheduletab()" + }, + { + "label": "TeamsTab.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_teamstab", + "community": 32, + "norm_label": "teamstab.tsx" + }, + { + "label": "TeamsTab()", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "hackathon_teamstab_teamstab", + "community": 32, + "norm_label": "teamstab()" + }, + { + "label": "constants.ts", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L1", + "_origin": "ast", + "id": "hackathon_constants", + "community": 9, + "norm_label": "constants.ts" + }, + { + "label": "SHIRT_SIZES", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L3", + "_origin": "ast", + "id": "hackathon_constants_shirt_sizes", + "community": 9, + "norm_label": "shirt_sizes" + }, + { + "label": "ShirtSize", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L4", + "_origin": "ast", + "id": "hackathon_constants_shirtsize", + "community": 9, + "norm_label": "shirtsize" + }, + { + "label": "DIETARY_OPTIONS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L6", + "_origin": "ast", + "id": "hackathon_constants_dietary_options", + "community": 9, + "norm_label": "dietary_options" + }, + { + "label": "LEVELS_OF_STUDY", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L17", + "_origin": "ast", + "id": "hackathon_constants_levels_of_study", + "community": 9, + "norm_label": "levels_of_study" + }, + { + "label": "LevelOfStudy", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L26", + "_origin": "ast", + "id": "hackathon_constants_levelofstudy", + "community": 9, + "norm_label": "levelofstudy" + }, + { + "label": "GENDERS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L28", + "_origin": "ast", + "id": "hackathon_constants_genders", + "community": 9, + "norm_label": "genders" + }, + { + "label": "REGISTRATION_STEPS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L36", + "_origin": "ast", + "id": "hackathon_constants_registration_steps", + "community": 9, + "norm_label": "registration_steps" + }, + { + "label": "SCHOOLS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L44", + "_origin": "ast", + "id": "hackathon_constants_schools", + "community": 9, + "norm_label": "schools" + }, + { + "label": "MAJORS", + "file_type": "code", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L98", + "_origin": "ast", + "id": "hackathon_constants_majors", + "community": 9, + "norm_label": "majors" + }, + { + "label": "AdminLayout.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_adminlayout", + "community": 15, + "norm_label": "adminlayout.tsx" + }, + { + "label": "AdminLayout()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_adminlayout_adminlayout", + "community": 15, + "norm_label": "adminlayout()" + }, + { + "label": "EventFormModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_eventformmodal", + "community": 17, + "norm_label": "eventformmodal.tsx" + }, + { + "label": "EventFormData", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_eventformmodal_eventformdata", + "community": 17, + "norm_label": "eventformdata" + }, + { + "label": "EventFormModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "portal_eventformmodal_eventformmodalprops", + "community": 17, + "norm_label": "eventformmodalprops" + }, + { + "label": "getCurrentDateTimeLocal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "portal_eventformmodal_getcurrentdatetimelocal", + "community": 17, + "norm_label": "getcurrentdatetimelocal()" + }, + { + "label": "EventFormModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L26", + "_origin": "ast", + "id": "portal_eventformmodal_eventformmodal", + "community": 17, + "norm_label": "eventformmodal()" + }, + { + "label": "LinkStripeAccount.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_linkstripeaccount", + "community": 10, + "norm_label": "linkstripeaccount.tsx" + }, + { + "label": "LinkStripeAccountProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_linkstripeaccount_linkstripeaccountprops", + "community": 10, + "norm_label": "linkstripeaccountprops" + }, + { + "label": "LinkStripeAccount()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "portal_linkstripeaccount_linkstripeaccount", + "community": 10, + "norm_label": "linkstripeaccount()" + }, + { + "label": "LiquidGlass.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_liquidglass", + "community": 10, + "norm_label": "liquidglass.tsx" + }, + { + "label": "LiquidGlassProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L3", + "_origin": "ast", + "id": "portal_liquidglass_liquidglassprops", + "community": 10, + "norm_label": "liquidglassprops" + }, + { + "label": "LiquidGlass()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "portal_liquidglass_liquidglass", + "community": 10, + "norm_label": "liquidglass()" + }, + { + "label": "LoadingScreen.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_loadingscreen", + "community": 18, + "norm_label": "loadingscreen.tsx" + }, + { + "label": "LoadingScreenProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_loadingscreen_loadingscreenprops", + "community": 18, + "norm_label": "loadingscreenprops" + }, + { + "label": "LoadingScreen()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "portal_loadingscreen_loadingscreen", + "community": 18, + "norm_label": "loadingscreen()" + }, + { + "label": "ModalWrapper.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_modalwrapper", + "community": 17, + "norm_label": "modalwrapper.tsx" + }, + { + "label": "ModalWrapperProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_modalwrapper_modalwrapperprops", + "community": 17, + "norm_label": "modalwrapperprops" + }, + { + "label": "maxWidthClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L11", + "_origin": "ast", + "id": "portal_modalwrapper_maxwidthclasses", + "community": 17, + "norm_label": "maxwidthclasses" + }, + { + "label": "ModalWrapper()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "portal_modalwrapper_modalwrapper", + "community": 17, + "norm_label": "modalwrapper()" + }, + { + "label": "PortalSidebar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_portalsidebar", + "community": 59, + "norm_label": "portalsidebar.tsx" + }, + { + "label": "PortalSidebarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L29", + "_origin": "ast", + "id": "portal_portalsidebar_portalsidebarprops", + "community": 59, + "norm_label": "portalsidebarprops" + }, + { + "label": "PortalSidebar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L34", + "_origin": "ast", + "id": "portal_portalsidebar_portalsidebar", + "community": 59, + "norm_label": "portalsidebar()" + }, + { + "label": "PortalWrapper.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_portalwrapper", + "community": 59, + "norm_label": "portalwrapper.tsx" + }, + { + "label": "PortalWrapper()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_portalwrapper_portalwrapper", + "community": 59, + "norm_label": "portalwrapper()" + }, + { + "label": "ProgressBar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_progressbar", + "community": 95, + "norm_label": "progressbar.tsx" + }, + { + "label": "ProgressBarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_progressbar_progressbarprops", + "community": 95, + "norm_label": "progressbarprops" + }, + { + "label": "ProgressBar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L10", + "_origin": "ast", + "id": "portal_progressbar_progressbar", + "community": 95, + "norm_label": "progressbar()" + }, + { + "label": "QRCodeModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_qrcodemodal", + "community": 17, + "norm_label": "qrcodemodal.tsx" + }, + { + "label": "Event", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_qrcodemodal_event", + "community": 17, + "norm_label": "event" + }, + { + "label": "QRCodeModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "portal_qrcodemodal_qrcodemodalprops", + "community": 17, + "norm_label": "qrcodemodalprops" + }, + { + "label": "QRCodeModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L24", + "_origin": "ast", + "id": "portal_qrcodemodal_qrcodemodal", + "community": 17, + "norm_label": "qrcodemodal()" + }, + { + "label": "QRScannerModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_qrscannermodal", + "community": 17, + "norm_label": "qrscannermodal.tsx" + }, + { + "label": "QRScannerModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_qrscannermodal_qrscannermodalprops", + "community": 17, + "norm_label": "qrscannermodalprops" + }, + { + "label": "QRScannerModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L15", + "_origin": "ast", + "id": "portal_qrscannermodal_qrscannermodal", + "community": 17, + "norm_label": "qrscannermodal()" + }, + { + "label": "ScanResultModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_scanresultmodal", + "community": 17, + "norm_label": "scanresultmodal.tsx" + }, + { + "label": "ScanResultModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "portal_scanresultmodal_scanresultmodalprops", + "community": 17, + "norm_label": "scanresultmodalprops" + }, + { + "label": "ScanResultModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "portal_scanresultmodal_scanresultmodal", + "community": 17, + "norm_label": "scanresultmodal()" + }, + { + "label": "StatusScreen.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "portal_statusscreen", + "community": 75, + "norm_label": "statusscreen.tsx" + }, + { + "label": "StatusVariant", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "portal_statusscreen_statusvariant", + "community": 75, + "norm_label": "statusvariant" + }, + { + "label": "StatusScreenProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "portal_statusscreen_statusscreenprops", + "community": 75, + "norm_label": "statusscreenprops" + }, + { + "label": "variantConfig", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L17", + "_origin": "ast", + "id": "portal_statusscreen_variantconfig", + "community": 75, + "norm_label": "variantconfig" + }, + { + "label": "actionVariantClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L77", + "_origin": "ast", + "id": "portal_statusscreen_actionvariantclasses", + "community": 75, + "norm_label": "actionvariantclasses" + }, + { + "label": "StatusScreen()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L86", + "_origin": "ast", + "id": "portal_statusscreen_statusscreen", + "community": 75, + "norm_label": "statusscreen()" + }, + { + "label": "FeatureCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_featurecard", + "community": 83, + "norm_label": "featurecard.tsx" + }, + { + "label": "FeatureCardProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "dashboard_featurecard_featurecardprops", + "community": 83, + "norm_label": "featurecardprops" + }, + { + "label": "variantClasses", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "dashboard_featurecard_variantclasses", + "community": 83, + "norm_label": "variantclasses" + }, + { + "label": "FeatureCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L59", + "_origin": "ast", + "id": "dashboard_featurecard_featurecard", + "community": 83, + "norm_label": "featurecard()" + }, + { + "label": "Sidebar.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "dashboard_sidebar", + "community": 10, + "norm_label": "sidebar.tsx" + }, + { + "label": "SidebarProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "dashboard_sidebar_sidebarprops", + "community": 10, + "norm_label": "sidebarprops" + }, + { + "label": "Sidebar()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L22", + "_origin": "ast", + "id": "dashboard_sidebar_sidebar", + "community": 10, + "norm_label": "sidebar()" + }, + { + "label": "RubricSlider.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_rubricslider", + "community": 85, + "norm_label": "rubricslider.tsx" + }, + { + "label": "RubricSliderProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L5", + "_origin": "ast", + "id": "judge_rubricslider_rubricsliderprops", + "community": 85, + "norm_label": "rubricsliderprops" + }, + { + "label": "RubricSlider()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L12", + "_origin": "ast", + "id": "judge_rubricslider_rubricslider", + "community": 85, + "norm_label": "rubricslider()" + }, + { + "label": "RubricSliderStyles()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L106", + "_origin": "ast", + "id": "judge_rubricslider_rubricsliderstyles", + "community": 85, + "norm_label": "rubricsliderstyles()" + }, + { + "label": "ZoneMapModal.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "judge_zonemapmodal", + "community": 78, + "norm_label": "zonemapmodal.tsx" + }, + { + "label": "ZONE_MAPS", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "judge_zonemapmodal_zone_maps", + "community": 78, + "norm_label": "zone_maps" + }, + { + "label": "ZoneMapModalProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "judge_zonemapmodal_zonemapmodalprops", + "community": 78, + "norm_label": "zonemapmodalprops" + }, + { + "label": "ZoneMapModal()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L25", + "_origin": "ast", + "id": "judge_zonemapmodal_zonemapmodal", + "community": 78, + "norm_label": "zonemapmodal()" + }, + { + "label": "ViewMapButton()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L172", + "_origin": "ast", + "id": "judge_zonemapmodal_viewmapbutton", + "community": 78, + "norm_label": "viewmapbutton()" + }, + { + "label": "MemberForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_memberform", + "community": 60, + "norm_label": "memberform.tsx" + }, + { + "label": "Member", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L7", + "_origin": "ast", + "id": "profile_memberform_member", + "community": 60, + "norm_label": "member" + }, + { + "label": "MemberForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "profile_memberform_memberform", + "community": 60, + "norm_label": "memberform()" + }, + { + "label": "MembershipCard.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_membershipcard", + "community": 10, + "norm_label": "membershipcard.tsx" + }, + { + "label": "MemberStatus", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L4", + "_origin": "ast", + "id": "profile_membershipcard_memberstatus", + "community": 10, + "norm_label": "memberstatus" + }, + { + "label": "MemberData", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L13", + "_origin": "ast", + "id": "profile_membershipcard_memberdata", + "community": 10, + "norm_label": "memberdata" + }, + { + "label": "MembershipCard()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L19", + "_origin": "ast", + "id": "profile_membershipcard_membershipcard", + "community": 10, + "norm_label": "membershipcard()" + }, + { + "label": "ProfileForm.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_profileform", + "community": 60, + "norm_label": "profileform.tsx" + }, + { + "label": "ProfileFormProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L8", + "_origin": "ast", + "id": "profile_profileform_profileformprops", + "community": 60, + "norm_label": "profileformprops" + }, + { + "label": "ProfileForm()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L20", + "_origin": "ast", + "id": "profile_profileform_profileform", + "community": 60, + "norm_label": "profileform()" + }, + { + "label": "SkillsInterestsInput.tsx", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "profile_skillsinterestsinput", + "community": 60, + "norm_label": "skillsinterestsinput.tsx" + }, + { + "label": "SkillsInterestsInputProps", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "profile_skillsinterestsinput_skillsinterestsinputprops", + "community": 60, + "norm_label": "skillsinterestsinputprops" + }, + { + "label": "SkillsInterestsInput()", + "file_type": "code", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L14", + "_origin": "ast", + "id": "profile_skillsinterestsinput_skillsinterestsinput", + "community": 60, + "norm_label": "skillsinterestsinput()" + }, + { + "label": "eslint.config.js", + "file_type": "code", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_eslint_config", + "community": 39, + "norm_label": "eslint.config.js" + }, + { + "label": "trpc-provider.tsx", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "lib_trpc_provider", + "community": 79, + "norm_label": "trpc-provider.tsx" + }, + { + "label": "TRPCReactProvider()", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L9", + "_origin": "ast", + "id": "lib_trpc_provider_trpcreactprovider", + "community": 79, + "norm_label": "trpcreactprovider()" + }, + { + "label": "trpc.tsx", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L1", + "_origin": "ast", + "id": "lib_trpc", + "community": 15, + "norm_label": "trpc.tsx" + }, + { + "label": "trpc", + "file_type": "code", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L6", + "_origin": "ast", + "id": "lib_trpc_trpc", + "community": 15, + "norm_label": "trpc" + }, + { + "label": "use-judging-stream.ts", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L1", + "_origin": "ast", + "id": "lib_use_judging_stream", + "community": 91, + "norm_label": "use-judging-stream.ts" + }, + { + "label": "JudgingSnapshot", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L5", + "_origin": "ast", + "id": "lib_use_judging_stream_judgingsnapshot", + "community": 91, + "norm_label": "judgingsnapshot" + }, + { + "label": "useJudgingStream()", + "file_type": "code", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L23", + "_origin": "ast", + "id": "lib_use_judging_stream_usejudgingstream", + "community": 91, + "norm_label": "usejudgingstream()" + }, + { + "label": "next-env.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/next-env.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_next_env_d", + "community": 125, + "norm_label": "next-env.d.ts" + }, + { + "label": "next.config.mjs", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_next_config", + "community": 86, + "norm_label": "next.config.mjs" + }, + { + "label": "__filename", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_next_config_filename", + "community": 86, + "norm_label": "__filename" + }, + { + "label": "__dirname", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_next_config_dirname", + "community": 86, + "norm_label": "__dirname" + }, + { + "label": "nextConfig", + "file_type": "code", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_next_config_nextconfig", + "community": 86, + "norm_label": "nextconfig" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_package", + "community": 1, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_package_name", + "community": 1, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_package_version", + "community": 1, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_package_type", + "community": 1, + "norm_label": "type" + }, + { + "label": "private", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_package_private", + "community": 1, + "norm_label": "private" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_package_scripts", + "community": 1, + "norm_label": "scripts" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_package_scripts_dev", + "community": 1, + "norm_label": "dev" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_package_scripts_build", + "community": 1, + "norm_label": "build" + }, + { + "label": "start", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "mainweb_package_scripts_start", + "community": 1, + "norm_label": "start" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_package_scripts_lint", + "community": 1, + "norm_label": "lint" + }, + { + "label": "check-types", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_package_scripts_check_types", + "community": 1, + "norm_label": "check-types" + }, + { + "label": "analyze", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_package_scripts_analyze", + "community": 1, + "norm_label": "analyze" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_package_dependencies", + "community": 1, + "norm_label": "dependencies" + }, + { + "label": "@mawtech/glass-ui", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_package_dependencies_mawtech_glass_ui", + "community": 1, + "norm_label": "@mawtech/glass-ui" + }, + { + "label": "@query/api", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_api", + "community": 1, + "norm_label": "@query/api" + }, + { + "label": "@query/auth", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_auth", + "community": 1, + "norm_label": "@query/auth" + }, + { + "label": "@query/db", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_db", + "community": 1, + "norm_label": "@query/db" + }, + { + "label": "@query/ui", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "mainweb_package_dependencies_query_ui", + "community": 1, + "norm_label": "@query/ui" + }, + { + "label": "@tanstack/react-query", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "mainweb_package_dependencies_tanstack_react_query", + "community": 1, + "norm_label": "@tanstack/react-query" + }, + { + "label": "@trpc/client", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_client", + "community": 1, + "norm_label": "@trpc/client" + }, + { + "label": "@trpc/next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_next", + "community": 1, + "norm_label": "@trpc/next" + }, + { + "label": "@trpc/react-query", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_react_query", + "community": 1, + "norm_label": "@trpc/react-query" + }, + { + "label": "@trpc/server", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "mainweb_package_dependencies_trpc_server", + "community": 1, + "norm_label": "@trpc/server" + }, + { + "label": "@yudiel/react-qr-scanner", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "mainweb_package_dependencies_yudiel_react_qr_scanner", + "community": 1, + "norm_label": "@yudiel/react-qr-scanner" + }, + { + "label": "chart.js", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "mainweb_package_dependencies_chart_js", + "community": 1, + "norm_label": "chart.js" + }, + { + "label": "drizzle-orm", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "mainweb_package_dependencies_drizzle_orm", + "community": 1, + "norm_label": "drizzle-orm" + }, + { + "label": "geist", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "mainweb_package_dependencies_geist", + "community": 1, + "norm_label": "geist" + }, + { + "label": "lucide-react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "mainweb_package_dependencies_lucide_react", + "community": 1, + "norm_label": "lucide-react" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "mainweb_package_dependencies_minimatch", + "community": 1, + "norm_label": "minimatch" + }, + { + "label": "next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "mainweb_package_dependencies_next", + "community": 1, + "norm_label": "next" + }, + { + "label": "next-auth", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "mainweb_package_dependencies_next_auth", + "community": 1, + "norm_label": "next-auth" + }, + { + "label": "next-themes", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L33", + "_origin": "ast", + "id": "mainweb_package_dependencies_next_themes", + "community": 1, + "norm_label": "next-themes" + }, + { + "label": "qrcode", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "mainweb_package_dependencies_qrcode", + "community": 1, + "norm_label": "qrcode" + }, + { + "label": "qrcode.react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "mainweb_package_dependencies_qrcode_react", + "community": 1, + "norm_label": "qrcode.react" + }, + { + "label": "react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "mainweb_package_dependencies_react", + "community": 1, + "norm_label": "react" + }, + { + "label": "react-chartjs-2", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_chartjs_2", + "community": 1, + "norm_label": "react-chartjs-2" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_dom", + "community": 1, + "norm_label": "react-dom" + }, + { + "label": "react-scroll", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "mainweb_package_dependencies_react_scroll", + "community": 1, + "norm_label": "react-scroll" + }, + { + "label": "sanitize-html", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "mainweb_package_dependencies_sanitize_html", + "community": 1, + "norm_label": "sanitize-html" + }, + { + "label": "stripe", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L41", + "_origin": "ast", + "id": "mainweb_package_dependencies_stripe", + "community": 1, + "norm_label": "stripe" + }, + { + "label": "superjson", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "mainweb_package_dependencies_superjson", + "community": 1, + "norm_label": "superjson" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L44", + "_origin": "ast", + "id": "mainweb_package_devdependencies", + "community": 22, + "norm_label": "devdependencies" + }, + { + "label": "@next/bundle-analyzer", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L45", + "_origin": "ast", + "id": "mainweb_package_devdependencies_next_bundle_analyzer", + "community": 22, + "norm_label": "@next/bundle-analyzer" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L46", + "_origin": "ast", + "id": "mainweb_package_devdependencies_next_eslint_plugin_next", + "community": 22, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@query/eslint-config", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L47", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_eslint_config", + "community": 22, + "norm_label": "@query/eslint-config" + }, + { + "label": "@query/tailwind-config", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L48", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_tailwind_config", + "community": 22, + "norm_label": "@query/tailwind-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L49", + "_origin": "ast", + "id": "mainweb_package_devdependencies_query_tsconfig", + "community": 22, + "norm_label": "@query/tsconfig" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L50", + "_origin": "ast", + "id": "mainweb_package_devdependencies_tailwindcss_postcss", + "community": 22, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "@types/minimatch", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L51", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_minimatch", + "community": 22, + "norm_label": "@types/minimatch" + }, + { + "label": "@types/node", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L52", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_node", + "community": 22, + "norm_label": "@types/node" + }, + { + "label": "@types/qrcode", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L53", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_qrcode", + "community": 22, + "norm_label": "@types/qrcode" + }, + { + "label": "@types/qrcode.react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L54", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_qrcode_react", + "community": 22, + "norm_label": "@types/qrcode.react" + }, + { + "label": "@types/react", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L55", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react", + "community": 22, + "norm_label": "@types/react" + }, + { + "label": "@types/react-dom", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L56", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react_dom", + "community": 22, + "norm_label": "@types/react-dom" + }, + { + "label": "@types/react-scroll", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L57", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_react_scroll", + "community": 22, + "norm_label": "@types/react-scroll" + }, + { + "label": "@types/three", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L58", + "_origin": "ast", + "id": "mainweb_package_devdependencies_types_three", + "community": 22, + "norm_label": "@types/three" + }, + { + "label": "autoprefixer", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L59", + "_origin": "ast", + "id": "mainweb_package_devdependencies_autoprefixer", + "community": 22, + "norm_label": "autoprefixer" + }, + { + "label": "cross-env", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L60", + "_origin": "ast", + "id": "mainweb_package_devdependencies_cross_env", + "community": 22, + "norm_label": "cross-env" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L61", + "_origin": "ast", + "id": "mainweb_package_devdependencies_eslint", + "community": 22, + "norm_label": "eslint" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L62", + "_origin": "ast", + "id": "mainweb_package_devdependencies_postcss", + "community": 22, + "norm_label": "postcss" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L63", + "_origin": "ast", + "id": "mainweb_package_devdependencies_tailwindcss", + "community": 22, + "norm_label": "tailwindcss" + }, + { + "label": "turbo", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "_origin": "ast", + "id": "mainweb_package_devdependencies_turbo", + "community": 57, + "norm_label": "turbo" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L65", + "_origin": "ast", + "id": "mainweb_package_devdependencies_typescript", + "community": 22, + "norm_label": "typescript" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "sites/mainweb/package.json", + "source_location": "L66", + "_origin": "ast", + "id": "mainweb_package_devdependencies_typescript_eslint", + "community": 22, + "norm_label": "typescript-eslint" + }, + { + "label": "postcss.config.js", + "file_type": "code", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_postcss_config", + "community": 92, + "norm_label": "postcss.config.js" + }, + { + "label": "proxy.ts", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_proxy", + "community": 58, + "norm_label": "proxy.ts" + }, + { + "label": "getCacheControl()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_proxy_getcachecontrol", + "community": 58, + "norm_label": "getcachecontrol()" + }, + { + "label": "getETag()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L42", + "_origin": "ast", + "id": "mainweb_proxy_getetag", + "community": 58, + "norm_label": "getetag()" + }, + { + "label": "getLastModified()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L48", + "_origin": "ast", + "id": "mainweb_proxy_getlastmodified", + "community": 58, + "norm_label": "getlastmodified()" + }, + { + "label": "handleETag()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L53", + "_origin": "ast", + "id": "mainweb_proxy_handleetag", + "community": 58, + "norm_label": "handleetag()" + }, + { + "label": "handleLastModified()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L64", + "_origin": "ast", + "id": "mainweb_proxy_handlelastmodified", + "community": 58, + "norm_label": "handlelastmodified()" + }, + { + "label": "securityHeaders", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L75", + "_origin": "ast", + "id": "mainweb_proxy_securityheaders", + "community": 58, + "norm_label": "securityheaders" + }, + { + "label": "config", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L82", + "_origin": "ast", + "id": "mainweb_proxy_config", + "community": 58, + "norm_label": "config" + }, + { + "label": "proxy()", + "file_type": "code", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L90", + "_origin": "ast", + "id": "mainweb_proxy_proxy", + "community": 58, + "norm_label": "proxy()" + }, + { + "label": "manifest.json", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L1", + "_origin": "ast", + "id": "public_manifest", + "community": 62, + "norm_label": "manifest.json" + }, + { + "label": "short_name", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L2", + "_origin": "ast", + "id": "public_manifest_short_name", + "community": 62, + "norm_label": "short_name" + }, + { + "label": "name", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L3", + "_origin": "ast", + "id": "public_manifest_name", + "community": 62, + "norm_label": "name" + }, + { + "label": "icons", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L4", + "_origin": "ast", + "id": "public_manifest_icons", + "community": 62, + "norm_label": "icons" + }, + { + "label": "start_url", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L26", + "_origin": "ast", + "id": "public_manifest_start_url", + "community": 62, + "norm_label": "start_url" + }, + { + "label": "display", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L27", + "_origin": "ast", + "id": "public_manifest_display", + "community": 62, + "norm_label": "display" + }, + { + "label": "theme_color", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L28", + "_origin": "ast", + "id": "public_manifest_theme_color", + "community": 62, + "norm_label": "theme_color" + }, + { + "label": "background_color", + "file_type": "code", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L29", + "_origin": "ast", + "id": "public_manifest_background_color", + "community": 62, + "norm_label": "background_color" + }, + { + "label": "start.sh", + "file_type": "code", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "file" + }, + "_origin": "ast", + "id": "mainweb_start", + "community": 102, + "norm_label": "start.sh" + }, + { + "label": "start.sh script", + "file_type": "code", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "metadata": { + "language": "bash", + "kind": "bash_entrypoint" + }, + "_origin": "ast", + "id": "c_users_bootcamp_desktop_passion_query_sites_mainweb_start_sh__entry", + "community": 102, + "norm_label": "start.sh script" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_tsconfig", + "community": 24, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_tsconfig_extends", + "community": 24, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions", + "community": 24, + "norm_label": "compileroptions" + }, + { + "label": "target", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_target", + "community": 24, + "norm_label": "target" + }, + { + "label": "module", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_module", + "community": 24, + "norm_label": "module" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_lib", + "community": 24, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_allowjs", + "community": 24, + "norm_label": "allowjs" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_skiplibcheck", + "community": 24, + "norm_label": "skiplibcheck" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 24, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_noemit", + "community": 24, + "norm_label": "noemit" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_esmoduleinterop", + "community": 24, + "norm_label": "esmoduleinterop" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_moduleresolution", + "community": 24, + "norm_label": "moduleresolution" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L13", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_resolvejsonmodule", + "community": 24, + "norm_label": "resolvejsonmodule" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L14", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_isolatedmodules", + "community": 24, + "norm_label": "isolatedmodules" + }, + { + "label": "jsx", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_jsx", + "community": 24, + "norm_label": "jsx" + }, + { + "label": "paths", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L16", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_paths", + "community": 24, + "norm_label": "paths" + }, + { + "label": "@/*", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L17", + "_origin": "ast", + "id": "mainweb_tsconfig_paths", + "community": 24, + "norm_label": "@/*" + }, + { + "label": "types", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L19", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_types", + "community": 24, + "norm_label": "types" + }, + { + "label": "plugins", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L20", + "_origin": "ast", + "id": "mainweb_tsconfig_compileroptions_plugins", + "community": 24, + "norm_label": "plugins" + }, + { + "label": "include", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L26", + "_origin": "ast", + "id": "mainweb_tsconfig_include", + "community": 24, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L34", + "_origin": "ast", + "id": "mainweb_tsconfig_exclude", + "community": 24, + "norm_label": "exclude" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_turbo", + "community": 46, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "mainweb_turbo_schema", + "community": 46, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "mainweb_turbo_extends", + "community": 46, + "norm_label": "extends" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "mainweb_turbo_tasks", + "community": 46, + "norm_label": "tasks" + }, + { + "label": "build", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "mainweb_turbo_tasks_build", + "community": 46, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "mainweb_turbo_build_dependson", + "community": 46, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "mainweb_turbo_build_outputs", + "community": 46, + "norm_label": "outputs" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "mainweb_turbo_build_cache", + "community": 46, + "norm_label": "cache" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "mainweb_turbo_tasks_dev", + "community": 46, + "norm_label": "dev" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "mainweb_turbo_dev_persistent", + "community": 46, + "norm_label": "persistent" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L12", + "_origin": "ast", + "id": "mainweb_turbo_dev_cache", + "community": 46, + "norm_label": "cache" + }, + { + "label": "css.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/types/css.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_css_d", + "community": 131, + "norm_label": "css.d.ts" + }, + { + "label": "images.d.ts", + "file_type": "code", + "source_file": "sites/mainweb/types/images.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_images_d", + "community": 133, + "norm_label": "images.d.ts" + }, + { + "label": "base.js", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_base", + "community": 39, + "norm_label": "base.js" + }, + { + "label": "restrictEnvAccess", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L9", + "_origin": "ast", + "id": "eslint_base_restrictenvaccess", + "community": 39, + "norm_label": "restrictenvaccess" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/eslint/base.js", + "source_location": "L37", + "_origin": "ast", + "id": "eslint_base_config", + "community": 39, + "norm_label": "config" + }, + { + "label": "next.js", + "file_type": "code", + "source_file": "tooling/eslint/next.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_next", + "community": 121, + "norm_label": "next.js" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_package", + "community": 4, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "eslint_package_name", + "community": 4, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "eslint_package_private", + "community": 4, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "eslint_package_version", + "community": 4, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "eslint_package_type", + "community": 4, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "eslint_package_exports", + "community": 4, + "norm_label": "exports" + }, + { + "label": "./base", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L7", + "_origin": "ast", + "id": "eslint_package_exports_base", + "community": 4, + "norm_label": "./base" + }, + { + "label": "./next-js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "eslint_package_exports_next_js", + "community": 4, + "norm_label": "./next-js" + }, + { + "label": "./react", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "eslint_package_exports_react", + "community": 4, + "norm_label": "./react" + }, + { + "label": "./react-internal", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "eslint_package_exports_react_internal", + "community": 4, + "norm_label": "./react-internal" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "eslint_package_scripts", + "community": 4, + "norm_label": "scripts" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "eslint_package_scripts_clean", + "community": 4, + "norm_label": "clean" + }, + { + "label": "format", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "eslint_package_scripts_format", + "community": 4, + "norm_label": "format" + }, + { + "label": "format:fix", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "eslint_package_scripts_format_fix", + "community": 4, + "norm_label": "format:fix" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "eslint_package_scripts_typecheck", + "community": 4, + "norm_label": "typecheck" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "eslint_package_dependencies", + "community": 4, + "norm_label": "dependencies" + }, + { + "label": "@eslint/compat", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_compat", + "community": 4, + "norm_label": "@eslint/compat" + }, + { + "label": "@eslint/js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_js", + "community": 4, + "norm_label": "@eslint/js" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "eslint_package_dependencies_next_eslint_plugin_next", + "community": 4, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "@typescript-eslint/eslint-plugin", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint_eslint_plugin", + "community": 4, + "norm_label": "@typescript-eslint/eslint-plugin" + }, + { + "label": "@typescript-eslint/parser", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint_parser", + "community": 4, + "norm_label": "@typescript-eslint/parser" + }, + { + "label": "eslint-config-prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L24", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_config_prettier", + "community": 4, + "norm_label": "eslint-config-prettier" + }, + { + "label": "eslint-plugin-import", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_import", + "community": 4, + "norm_label": "eslint-plugin-import" + }, + { + "label": "eslint-plugin-jsx-a11y", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L26", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_jsx_a11y", + "community": 4, + "norm_label": "eslint-plugin-jsx-a11y" + }, + { + "label": "eslint-plugin-react", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L27", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_react", + "community": 4, + "norm_label": "eslint-plugin-react" + }, + { + "label": "eslint-plugin-react-hooks", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L28", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_react_hooks", + "community": 4, + "norm_label": "eslint-plugin-react-hooks" + }, + { + "label": "eslint-plugin-turbo", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L29", + "_origin": "ast", + "id": "eslint_package_dependencies_eslint_plugin_turbo", + "community": 4, + "norm_label": "eslint-plugin-turbo" + }, + { + "label": "globals", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L30", + "_origin": "ast", + "id": "eslint_package_dependencies_globals", + "community": 4, + "norm_label": "globals" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L31", + "_origin": "ast", + "id": "eslint_package_dependencies_minimatch", + "community": 4, + "norm_label": "minimatch" + }, + { + "label": "typescript-eslint", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L32", + "_origin": "ast", + "id": "eslint_package_dependencies_typescript_eslint", + "community": 4, + "norm_label": "typescript-eslint" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L34", + "_origin": "ast", + "id": "eslint_package_devdependencies", + "community": 4, + "norm_label": "devdependencies" + }, + { + "label": "@query/prettier-config", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L35", + "_origin": "ast", + "id": "eslint_package_devdependencies_query_prettier_config", + "community": 4, + "norm_label": "@query/prettier-config" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L36", + "_origin": "ast", + "id": "eslint_package_devdependencies_query_tsconfig", + "community": 4, + "norm_label": "@query/tsconfig" + }, + { + "label": "@types/eslint__js", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L37", + "_origin": "ast", + "id": "eslint_package_devdependencies_types_eslint_js", + "community": 4, + "norm_label": "@types/eslint__js" + }, + { + "label": "eslint", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L38", + "_origin": "ast", + "id": "eslint_package_devdependencies_eslint", + "community": 4, + "norm_label": "eslint" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L39", + "_origin": "ast", + "id": "eslint_package_devdependencies_prettier", + "community": 4, + "norm_label": "prettier" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L40", + "_origin": "ast", + "id": "eslint_package_devdependencies_typescript", + "community": 4, + "norm_label": "typescript" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/eslint/package.json", + "source_location": "L42", + "_origin": "ast", + "id": "eslint_package_prettier", + "community": 4, + "norm_label": "prettier" + }, + { + "label": "react-internal.js", + "file_type": "code", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_react_internal", + "community": 39, + "norm_label": "react-internal.js" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L13", + "_origin": "ast", + "id": "eslint_react_internal_config", + "community": 39, + "norm_label": "config" + }, + { + "label": "react.js", + "file_type": "code", + "source_file": "tooling/eslint/react.js", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_react", + "community": 39, + "norm_label": "react.js" + }, + { + "label": "index.js", + "file_type": "code", + "source_file": "tooling/prettier/index.js", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_index", + "community": 114, + "norm_label": "index.js" + }, + { + "label": "config", + "file_type": "code", + "source_file": "tooling/prettier/index.js", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_index_config", + "community": 114, + "norm_label": "config" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_package", + "community": 28, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "prettier_package_name", + "community": 28, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "prettier_package_private", + "community": 28, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "prettier_package_version", + "community": 28, + "norm_label": "version" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "prettier_package_type", + "community": 28, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "prettier_package_exports", + "community": 28, + "norm_label": "exports" + }, + { + "label": "scripts", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_package_scripts", + "community": 28, + "norm_label": "scripts" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "prettier_package_scripts_clean", + "community": 28, + "norm_label": "clean" + }, + { + "label": "format", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "prettier_package_scripts_format", + "community": 28, + "norm_label": "format" + }, + { + "label": "format:fix", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "prettier_package_scripts_format_fix", + "community": 28, + "norm_label": "format:fix" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "prettier_package_scripts_typecheck", + "community": 28, + "norm_label": "typecheck" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "prettier_package_dependencies", + "community": 28, + "norm_label": "dependencies" + }, + { + "label": "@ianvs/prettier-plugin-sort-imports", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "prettier_package_dependencies_ianvs_prettier_plugin_sort_imports", + "community": 28, + "norm_label": "@ianvs/prettier-plugin-sort-imports" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "prettier_package_dependencies_minimatch", + "community": 28, + "norm_label": "minimatch" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L18", + "_origin": "ast", + "id": "prettier_package_dependencies_prettier", + "community": 28, + "norm_label": "prettier" + }, + { + "label": "prettier-plugin-tailwindcss", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "prettier_package_dependencies_prettier_plugin_tailwindcss", + "community": 28, + "norm_label": "prettier-plugin-tailwindcss" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "prettier_package_devdependencies", + "community": 28, + "norm_label": "devdependencies" + }, + { + "label": "@query/tsconfig", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L22", + "_origin": "ast", + "id": "prettier_package_devdependencies_query_tsconfig", + "community": 28, + "norm_label": "@query/tsconfig" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L23", + "_origin": "ast", + "id": "prettier_package_devdependencies_typescript", + "community": 28, + "norm_label": "typescript" + }, + { + "label": "prettier", + "file_type": "code", + "source_file": "tooling/prettier/package.json", + "source_location": "L25", + "_origin": "ast", + "id": "prettier_package_prettier", + "community": 28, + "norm_label": "prettier" + }, + { + "label": "tsconfig.json", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L1", + "_origin": "ast", + "id": "prettier_tsconfig", + "community": 52, + "norm_label": "tsconfig.json" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L2", + "_origin": "ast", + "id": "prettier_tsconfig_extends", + "community": 52, + "norm_label": "extends" + }, + { + "label": "include", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L3", + "_origin": "ast", + "id": "prettier_tsconfig_include", + "community": 52, + "norm_label": "include" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L4", + "_origin": "ast", + "id": "prettier_tsconfig_exclude", + "community": 52, + "norm_label": "exclude" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L5", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions", + "community": 52, + "norm_label": "compileroptions" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L6", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_strict", + "community": 52, + "norm_label": "strict" + }, + { + "label": "forceConsistentCasingInFileNames", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L7", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "community": 52, + "norm_label": "forceconsistentcasinginfilenames" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L8", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_esmoduleinterop", + "community": 52, + "norm_label": "esmoduleinterop" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L9", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_moduleresolution", + "community": 52, + "norm_label": "moduleresolution" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L10", + "_origin": "ast", + "id": "prettier_tsconfig_compileroptions_skiplibcheck", + "community": 52, + "norm_label": "skiplibcheck" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "tailwind_package", + "community": 33, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "tailwind_package_name", + "community": 33, + "norm_label": "name" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "tailwind_package_version", + "community": 33, + "norm_label": "version" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "tailwind_package_private", + "community": 33, + "norm_label": "private" + }, + { + "label": "type", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "tailwind_package_type", + "community": 33, + "norm_label": "type" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L6", + "_origin": "ast", + "id": "tailwind_package_exports", + "community": 33, + "norm_label": "exports" + }, + { + "label": "./postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "tailwind_package_exports_postcss", + "community": 33, + "norm_label": "./postcss" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L10", + "_origin": "ast", + "id": "tailwind_package_dependencies", + "community": 33, + "norm_label": "dependencies" + }, + { + "label": "@tailwindcss/postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L11", + "_origin": "ast", + "id": "tailwind_package_dependencies_tailwindcss_postcss", + "community": 33, + "norm_label": "@tailwindcss/postcss" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "tailwind_package_dependencies_minimatch", + "community": 33, + "norm_label": "minimatch" + }, + { + "label": "next", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "tailwind_package_dependencies_next", + "community": 33, + "norm_label": "next" + }, + { + "label": "postcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L14", + "_origin": "ast", + "id": "tailwind_package_dependencies_postcss", + "community": 33, + "norm_label": "postcss" + }, + { + "label": "react", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L15", + "_origin": "ast", + "id": "tailwind_package_dependencies_react", + "community": 33, + "norm_label": "react" + }, + { + "label": "react-dom", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L16", + "_origin": "ast", + "id": "tailwind_package_dependencies_react_dom", + "community": 33, + "norm_label": "react-dom" + }, + { + "label": "tailwindcss", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L17", + "_origin": "ast", + "id": "tailwind_package_dependencies_tailwindcss", + "community": 33, + "norm_label": "tailwindcss" + }, + { + "label": "devDependencies", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L19", + "_origin": "ast", + "id": "tailwind_package_devdependencies", + "community": 33, + "norm_label": "devdependencies" + }, + { + "label": "@next/eslint-plugin-next", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L20", + "_origin": "ast", + "id": "tailwind_package_devdependencies_next_eslint_plugin_next", + "community": 33, + "norm_label": "@next/eslint-plugin-next" + }, + { + "label": "typescript", + "file_type": "code", + "source_file": "tooling/tailwind/package.json", + "source_location": "L21", + "_origin": "ast", + "id": "tailwind_package_devdependencies_typescript", + "community": 33, + "norm_label": "typescript" + }, + { + "label": "postcss.config.js", + "file_type": "code", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L1", + "_origin": "ast", + "id": "tailwind_postcss_config", + "community": 92, + "norm_label": "postcss.config.js" + }, + { + "label": "postcssConfig", + "file_type": "code", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L2", + "_origin": "ast", + "id": "tailwind_postcss_config_postcssconfig", + "community": 92, + "norm_label": "postcssconfig" + }, + { + "label": "base.json", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_base", + "community": 23, + "norm_label": "base.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_base_schema", + "community": 23, + "norm_label": "$schema" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_base_compileroptions", + "community": 23, + "norm_label": "compileroptions" + }, + { + "label": "esModuleInterop", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_base_compileroptions_esmoduleinterop", + "community": 23, + "norm_label": "esmoduleinterop" + }, + { + "label": "skipLibCheck", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_base_compileroptions_skiplibcheck", + "community": 23, + "norm_label": "skiplibcheck" + }, + { + "label": "target", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L6", + "_origin": "ast", + "id": "typescript_base_compileroptions_target", + "community": 23, + "norm_label": "target" + }, + { + "label": "lib", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L7", + "_origin": "ast", + "id": "typescript_base_compileroptions_lib", + "community": 23, + "norm_label": "lib" + }, + { + "label": "allowJs", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_base_compileroptions_allowjs", + "community": 23, + "norm_label": "allowjs" + }, + { + "label": "resolveJsonModule", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L9", + "_origin": "ast", + "id": "typescript_base_compileroptions_resolvejsonmodule", + "community": 23, + "norm_label": "resolvejsonmodule" + }, + { + "label": "moduleDetection", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L10", + "_origin": "ast", + "id": "typescript_base_compileroptions_moduledetection", + "community": 23, + "norm_label": "moduledetection" + }, + { + "label": "isolatedModules", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L11", + "_origin": "ast", + "id": "typescript_base_compileroptions_isolatedmodules", + "community": 23, + "norm_label": "isolatedmodules" + }, + { + "label": "incremental", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L12", + "_origin": "ast", + "id": "typescript_base_compileroptions_incremental", + "community": 23, + "norm_label": "incremental" + }, + { + "label": "disableSourceOfProjectReferenceRedirect", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L13", + "_origin": "ast", + "id": "typescript_base_compileroptions_disablesourceofprojectreferenceredirect", + "community": 23, + "norm_label": "disablesourceofprojectreferenceredirect" + }, + { + "label": "tsBuildInfoFile", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L14", + "_origin": "ast", + "id": "typescript_base_compileroptions_tsbuildinfofile", + "community": 23, + "norm_label": "tsbuildinfofile" + }, + { + "label": "strict", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L15", + "_origin": "ast", + "id": "typescript_base_compileroptions_strict", + "community": 23, + "norm_label": "strict" + }, + { + "label": "noImplicitAny", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L16", + "_origin": "ast", + "id": "typescript_base_compileroptions_noimplicitany", + "community": 23, + "norm_label": "noimplicitany" + }, + { + "label": "noUncheckedIndexedAccess", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L17", + "_origin": "ast", + "id": "typescript_base_compileroptions_nouncheckedindexedaccess", + "community": 23, + "norm_label": "nouncheckedindexedaccess" + }, + { + "label": "checkJs", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L18", + "_origin": "ast", + "id": "typescript_base_compileroptions_checkjs", + "community": 23, + "norm_label": "checkjs" + }, + { + "label": "module", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L19", + "_origin": "ast", + "id": "typescript_base_compileroptions_module", + "community": 23, + "norm_label": "module" + }, + { + "label": "moduleResolution", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L20", + "_origin": "ast", + "id": "typescript_base_compileroptions_moduleresolution", + "community": 23, + "norm_label": "moduleresolution" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L21", + "_origin": "ast", + "id": "typescript_base_compileroptions_noemit", + "community": 23, + "norm_label": "noemit" + }, + { + "label": "exclude", + "file_type": "code", + "source_file": "tooling/typescript/base.json", + "source_location": "L23", + "_origin": "ast", + "id": "typescript_base_exclude", + "community": 23, + "norm_label": "exclude" + }, + { + "label": "internal-package.json", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_internal_package", + "community": 61, + "norm_label": "internal-package.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_internal_package_schema", + "community": 61, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_internal_package_extends", + "community": 61, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions", + "community": 61, + "norm_label": "compileroptions" + }, + { + "label": "declaration", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_declaration", + "community": 61, + "norm_label": "declaration" + }, + { + "label": "declarationMap", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L6", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_declarationmap", + "community": 61, + "norm_label": "declarationmap" + }, + { + "label": "emitDeclarationOnly", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L7", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_emitdeclarationonly", + "community": 61, + "norm_label": "emitdeclarationonly" + }, + { + "label": "noEmit", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_noemit", + "community": 61, + "norm_label": "noemit" + }, + { + "label": "outDir", + "file_type": "code", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L9", + "_origin": "ast", + "id": "typescript_internal_package_compileroptions_outdir", + "community": 61, + "norm_label": "outdir" + }, + { + "label": "nextjs.json", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_nextjs", + "community": 81, + "norm_label": "nextjs.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_nextjs_schema", + "community": 81, + "norm_label": "$schema" + }, + { + "label": "extends", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_nextjs_extends", + "community": 81, + "norm_label": "extends" + }, + { + "label": "compilerOptions", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_nextjs_compileroptions", + "community": 81, + "norm_label": "compileroptions" + }, + { + "label": "types", + "file_type": "code", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_nextjs_compileroptions_types", + "community": 81, + "norm_label": "types" + }, + { + "label": "package.json", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L1", + "_origin": "ast", + "id": "typescript_package", + "community": 63, + "norm_label": "package.json" + }, + { + "label": "name", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L2", + "_origin": "ast", + "id": "typescript_package_name", + "community": 63, + "norm_label": "name" + }, + { + "label": "private", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L3", + "_origin": "ast", + "id": "typescript_package_private", + "community": 63, + "norm_label": "private" + }, + { + "label": "version", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L4", + "_origin": "ast", + "id": "typescript_package_version", + "community": 63, + "norm_label": "version" + }, + { + "label": "files", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L5", + "_origin": "ast", + "id": "typescript_package_files", + "community": 63, + "norm_label": "files" + }, + { + "label": "exports", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L8", + "_origin": "ast", + "id": "typescript_package_exports", + "community": 63, + "norm_label": "exports" + }, + { + "label": "dependencies", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L12", + "_origin": "ast", + "id": "typescript_package_dependencies", + "community": 63, + "norm_label": "dependencies" + }, + { + "label": "minimatch", + "file_type": "code", + "source_file": "tooling/typescript/package.json", + "source_location": "L13", + "_origin": "ast", + "id": "typescript_package_dependencies_minimatch", + "community": 63, + "norm_label": "minimatch" + }, + { + "label": "turbo.json", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L1", + "_origin": "ast", + "id": "turbo", + "community": 57, + "norm_label": "turbo.json" + }, + { + "label": "$schema", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L2", + "_origin": "ast", + "id": "turbo_schema", + "community": 57, + "norm_label": "$schema" + }, + { + "label": "ui", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L3", + "_origin": "ast", + "id": "turbo_ui", + "community": 57, + "norm_label": "ui" + }, + { + "label": "tasks", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L4", + "_origin": "ast", + "id": "turbo_tasks", + "community": 6, + "norm_label": "tasks" + }, + { + "label": "test", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L5", + "_origin": "ast", + "id": "turbo_tasks_test", + "community": 6, + "norm_label": "test" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L6", + "_origin": "ast", + "id": "turbo_test_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L7", + "_origin": "ast", + "id": "turbo_test_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "inputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L8", + "_origin": "ast", + "id": "turbo_test_inputs", + "community": 6, + "norm_label": "inputs" + }, + { + "label": "topo", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L10", + "_origin": "ast", + "id": "turbo_tasks_topo", + "community": 6, + "norm_label": "topo" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L11", + "_origin": "ast", + "id": "turbo_topo_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "build", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L13", + "_origin": "ast", + "id": "turbo_tasks_build", + "community": 6, + "norm_label": "build" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L14", + "_origin": "ast", + "id": "turbo_build_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L15", + "_origin": "ast", + "id": "turbo_build_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "start", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L17", + "_origin": "ast", + "id": "turbo_tasks_start", + "community": 6, + "norm_label": "start" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L18", + "_origin": "ast", + "id": "turbo_start_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L19", + "_origin": "ast", + "id": "turbo_start_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L20", + "_origin": "ast", + "id": "turbo_start_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "dev", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L22", + "_origin": "ast", + "id": "turbo_tasks_dev", + "community": 6, + "norm_label": "dev" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L23", + "_origin": "ast", + "id": "turbo_dev_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L24", + "_origin": "ast", + "id": "turbo_dev_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L25", + "_origin": "ast", + "id": "turbo_dev_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "format", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L27", + "_origin": "ast", + "id": "turbo_tasks_format", + "community": 6, + "norm_label": "format" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L28", + "_origin": "ast", + "id": "turbo_format_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "outputLogs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L29", + "_origin": "ast", + "id": "turbo_format_outputlogs", + "community": 6, + "norm_label": "outputlogs" + }, + { + "label": "lint", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L31", + "_origin": "ast", + "id": "turbo_tasks_lint", + "community": 6, + "norm_label": "lint" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L32", + "_origin": "ast", + "id": "turbo_lint_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L33", + "_origin": "ast", + "id": "turbo_lint_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "typecheck", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L35", + "_origin": "ast", + "id": "turbo_tasks_typecheck", + "community": 6, + "norm_label": "typecheck" + }, + { + "label": "dependsOn", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L36", + "_origin": "ast", + "id": "turbo_typecheck_dependson", + "community": 6, + "norm_label": "dependson" + }, + { + "label": "outputs", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L37", + "_origin": "ast", + "id": "turbo_typecheck_outputs", + "community": 6, + "norm_label": "outputs" + }, + { + "label": "clean", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L39", + "_origin": "ast", + "id": "turbo_tasks_clean", + "community": 6, + "norm_label": "clean" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L40", + "_origin": "ast", + "id": "turbo_clean_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "push", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L42", + "_origin": "ast", + "id": "turbo_tasks_push", + "community": 6, + "norm_label": "push" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L43", + "_origin": "ast", + "id": "turbo_push_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "interactive", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L44", + "_origin": "ast", + "id": "turbo_push_interactive", + "community": 6, + "norm_label": "interactive" + }, + { + "label": "studio", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L46", + "_origin": "ast", + "id": "turbo_tasks_studio", + "community": 6, + "norm_label": "studio" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L47", + "_origin": "ast", + "id": "turbo_studio_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "persistent", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L48", + "_origin": "ast", + "id": "turbo_studio_persistent", + "community": 6, + "norm_label": "persistent" + }, + { + "label": "ui-add", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L50", + "_origin": "ast", + "id": "turbo_tasks_ui_add", + "community": 6, + "norm_label": "ui-add" + }, + { + "label": "cache", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L51", + "_origin": "ast", + "id": "turbo_ui_add_cache", + "community": 6, + "norm_label": "cache" + }, + { + "label": "interactive", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L52", + "_origin": "ast", + "id": "turbo_ui_add_interactive", + "community": 6, + "norm_label": "interactive" + }, + { + "label": "globalEnv", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L55", + "_origin": "ast", + "id": "turbo_globalenv", + "community": 57, + "norm_label": "globalenv" + }, + { + "label": "globalPassThroughEnv", + "file_type": "code", + "source_file": "turbo.json", + "source_location": "L88", + "_origin": "ast", + "id": "turbo_globalpassthroughenv", + "community": 57, + "norm_label": "globalpassthroughenv" + }, + { + "label": "config.ts", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L1", + "_origin": "ast", + "id": "generators_config", + "community": 71, + "norm_label": "config.ts" + }, + { + "label": "Answers", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L4", + "_origin": "ast", + "id": "generators_config_answers", + "community": 71, + "norm_label": "answers" + }, + { + "label": "PkgJson", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L9", + "_origin": "ast", + "id": "generators_config_pkgjson", + "community": 71, + "norm_label": "pkgjson" + }, + { + "label": "sanitizeName()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L14", + "_origin": "ast", + "id": "generators_config_sanitizename", + "community": 71, + "norm_label": "sanitizename()" + }, + { + "label": "latestVersion()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L19", + "_origin": "ast", + "id": "generators_config_latestversion", + "community": 71, + "norm_label": "latestversion()" + }, + { + "label": "register()", + "file_type": "code", + "source_file": "turbo/generators/config.ts", + "source_location": "L27", + "_origin": "ast", + "id": "generators_config_register", + "community": 71, + "norm_label": "register()" + }, + { + "label": "globals.d.ts", + "file_type": "code", + "source_file": "types/globals.d.ts", + "source_location": "L1", + "_origin": "ast", + "id": "types_globals_d", + "community": 132, + "norm_label": "globals.d.ts" + }, + { + "label": "bug_report.md", + "file_type": "document", + "source_file": ".github/ISSUE_TEMPLATE/bug_report.md", + "source_location": "L1", + "_origin": "ast", + "id": "issue_template_bug_report", + "community": 124, + "norm_label": "bug_report.md" + }, + { + "label": "GCP_SETUP.md", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "_origin": "ast", + "id": "gcp_setup", + "community": 55, + "norm_label": "gcp_setup.md" + }, + { + "label": "GCP Backend Setup Guide", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "_origin": "ast", + "id": "gcp_setup_gcp_backend_setup_guide", + "community": 55, + "norm_label": "gcp backend setup guide" + }, + { + "label": "1. Prerequisites", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L5", + "_origin": "ast", + "id": "gcp_setup_1_prerequisites", + "community": 55, + "norm_label": "1. prerequisites" + }, + { + "label": "2. Authentication", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L12", + "_origin": "ast", + "id": "gcp_setup_2_authentication", + "community": 55, + "norm_label": "2. authentication" + }, + { + "label": "3. Syncing Secrets", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L32", + "_origin": "ast", + "id": "gcp_setup_3_syncing_secrets", + "community": 55, + "norm_label": "3. syncing secrets" + }, + { + "label": "4. Running the App", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L49", + "_origin": "ast", + "id": "gcp_setup_4_running_the_app", + "community": 55, + "norm_label": "4. running the app" + }, + { + "label": "5. Troubleshooting", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L57", + "_origin": "ast", + "id": "gcp_setup_5_troubleshooting", + "community": 55, + "norm_label": "5. troubleshooting" + }, + { + "label": "Permission Denied", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L59", + "_origin": "ast", + "id": "gcp_setup_permission_denied", + "community": 55, + "norm_label": "permission denied" + }, + { + "label": "Missing Secrets", + "file_type": "document", + "source_file": "GCP_SETUP.md", + "source_location": "L67", + "_origin": "ast", + "id": "gcp_setup_missing_secrets", + "community": 55, + "norm_label": "missing secrets" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme", + "community": 115, + "norm_label": "readme.md" + }, + { + "label": "query", + "file_type": "document", + "source_file": "README.md", + "source_location": "L1", + "_origin": "ast", + "id": "readme_query", + "community": 115, + "norm_label": "query" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "hacklytics2027_readme", + "community": 84, + "norm_label": "readme.md" + }, + { + "label": "Getting Started", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L3", + "_origin": "ast", + "id": "hacklytics2027_readme_getting_started", + "community": 84, + "norm_label": "getting started" + }, + { + "label": "Learn More", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L23", + "_origin": "ast", + "id": "hacklytics2027_readme_learn_more", + "community": 84, + "norm_label": "learn more" + }, + { + "label": "Deploy on Vercel", + "file_type": "document", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L32", + "_origin": "ast", + "id": "hacklytics2027_readme_deploy_on_vercel", + "community": 84, + "norm_label": "deploy on vercel" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_readme", + "community": 87, + "norm_label": "readme.md" + }, + { + "label": "Getting Started", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "mainweb_readme_getting_started", + "community": 87, + "norm_label": "getting started" + }, + { + "label": "Learn More", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L15", + "_origin": "ast", + "id": "mainweb_readme_learn_more", + "community": 87, + "norm_label": "learn more" + }, + { + "label": "Deploy on Vercel", + "file_type": "document", + "source_file": "sites/mainweb/README.md", + "source_location": "L24", + "_origin": "ast", + "id": "mainweb_readme_deploy_on_vercel", + "community": 87, + "norm_label": "deploy on vercel" + }, + { + "label": "README.md", + "file_type": "document", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_readme", + "community": 103, + "norm_label": "readme.md" + }, + { + "label": "`@turbo/eslint-config`", + "file_type": "document", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "_origin": "ast", + "id": "eslint_readme_turbo_eslint_config", + "community": 103, + "norm_label": "`@turbo/eslint-config`" + }, + { + "label": "{ GET, POST }", + "file_type": "code", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L3", + "_origin": "ast", + "id": "nextauth_route_get_post", + "community": 126, + "norm_label": "{ get, post }" + } + ], + "links": [ + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L17", + "weight": 1.0, + "source": "package", + "target": "package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L21", + "weight": 1.0, + "source": "package", + "target": "package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L6", + "weight": 1.0, + "source": "package", + "target": "package_engines", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L2", + "weight": 1.0, + "source": "package", + "target": "package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L5", + "weight": 1.0, + "source": "package", + "target": "package_packagemanager", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L25", + "weight": 1.0, + "source": "package", + "target": "package_pnpm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L3", + "weight": 1.0, + "source": "package", + "target": "package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L9", + "weight": 1.0, + "source": "package", + "target": "package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L4", + "weight": 1.0, + "source": "package", + "target": "package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L7", + "weight": 1.0, + "source": "package_engines", + "target": "package_engines_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L11", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L10", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L13", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L12", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L15", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L14", + "weight": 1.0, + "source": "package_scripts", + "target": "package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L18", + "weight": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L19", + "weight": 1.0, + "source": "package_dependencies", + "target": "package_dependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L22", + "weight": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L23", + "weight": 1.0, + "source": "package_devdependencies", + "target": "package_devdependencies_vitest", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L22", + "weight": 1.0, + "context": "import", + "source": "package_devdependencies_turbo", + "target": "turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L26", + "weight": 1.0, + "source": "package_pnpm", + "target": "package_pnpm_overrides", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L28", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_esbuild", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L30", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_eslint_plugin_kit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L27", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "package.json", + "source_location": "L29", + "weight": 1.0, + "source": "package_pnpm_overrides", + "target": "package_overrides_ws", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_js_api_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_js_api_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_mjs_api_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_eslint_config_mjs_api_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "api_package", + "target": "api_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "api_package", + "target": "api_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "api_package", + "target": "api_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "api_package", + "target": "api_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "api_package", + "target": "api_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "api_package", + "target": "api_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "api_package", + "target": "api_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "api_package", + "target": "api_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_context", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_http_security", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "api_package_exports", + "target": "api_package_exports_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "api_package_scripts", + "target": "api_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_image_size", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_query_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_superjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_tanstack_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "api_package_dependencies", + "target": "api_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_types_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/package.json", + "source_location": "L43", + "weight": 1.0, + "source": "api_package_devdependencies", + "target": "api_package_devdependencies_vitest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L215", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "internal_tests_resilience_test_assertion", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L221", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "internal_tests_resilience_test_tobebetween", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/resilience.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_resilience_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L14", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockdelete", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L10", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockfindfirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L11", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockfindmany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L12", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockinsert", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L13", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "internal_tests_routers_test_mockupdate", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L4", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L4", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L7", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L7", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_root", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L6", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/routers.test.ts", + "source_location": "L6", + "weight": 1.0, + "source": "internal_tests_routers_test", + "target": "src_trpc_errorformatter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/.internal-tests/security.test.ts", + "source_location": "L2", + "weight": 1.0, + "source": "internal_tests_security_test", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_context", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_context", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L63", + "weight": 1.0, + "source": "src_context", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L29", + "weight": 1.0, + "source": "src_context", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L17", + "weight": 1.0, + "source": "src_context", + "target": "src_context_getauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_context", + "target": "src_context_session", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_trpc", + "target": "src_context", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/context.ts", + "source_location": "L43", + "weight": 1.0, + "source": "src_context_createcontext", + "target": "src_context_getauth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L2", + "weight": 1.0, + "source": "trpc_route", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L9", + "weight": 1.0, + "source": "trpc_route_handler", + "target": "src_context_createcontext", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_trpc", + "target": "src_context_context", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_root", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_api_src_index_ts_src_index", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L214", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L6", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cacheentry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L223", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L17", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cacheservice", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L220", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_cachestats", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L244", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidateevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L240", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidatehackathons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L236", + "weight": 1.0, + "source": "middleware_cache", + "target": "middleware_cache_invalidateuser", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L5", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_user", + "target": "middleware_cache", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L137", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_cleanup", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L97", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_clear", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L23", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L68", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L77", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L193", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_destroy", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L208", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_exportstats", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L37", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L119", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_getorset", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L105", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_getstats", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L112", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_has", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L59", + "weight": 1.0, + "source": "middleware_cache_cacheservice", + "target": "middleware_cache_cacheservice_set", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L46", + "weight": 1.0, + "source": "middleware_cache_cacheservice_get", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L124", + "weight": 1.0, + "source": "middleware_cache_cacheservice_getorset", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L113", + "weight": 1.0, + "source": "middleware_cache_cacheservice_has", + "target": "middleware_cache_cacheservice_get", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L144", + "weight": 1.0, + "source": "middleware_cache_cacheservice_cleanup", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L85", + "weight": 1.0, + "source": "middleware_cache_cacheservice_deletepattern", + "target": "middleware_cache_cacheservice_delete", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L245", + "weight": 1.0, + "source": "middleware_cache_invalidateevents", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L241", + "weight": 1.0, + "source": "middleware_cache_invalidatehackathons", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L237", + "weight": 1.0, + "source": "middleware_cache_invalidateuser", + "target": "middleware_cache_cacheservice_deletepattern", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/cache.ts", + "source_location": "L195", + "weight": 1.0, + "source": "middleware_cache_cacheservice_destroy", + "target": "middleware_cache_cacheservice_clear", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L6", + "weight": 1.0, + "source": "stripe_route", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L14", + "weight": 1.0, + "source": "verify_email_route", + "target": "middleware_cache_cache", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L5", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L16", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_user", + "target": "middleware_cache_cachekeys", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L181", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_applysecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L17", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_cacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L69", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getcacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L126", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getclientip", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L104", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L148", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getrequestfingerprint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L32", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_getsecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L22", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_ratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L6", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L168", + "weight": 1.0, + "source": "middleware_http_security", + "target": "middleware_http_security_simplehash", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L198", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getsecurityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L204", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getcacheheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L214", + "weight": 1.0, + "source": "middleware_http_security_applysecurityheaders", + "target": "middleware_http_security_getratelimitheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L152", + "weight": 1.0, + "source": "middleware_http_security_getrequestfingerprint", + "target": "middleware_http_security_getclientip", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/http-security.ts", + "source_location": "L156", + "weight": 1.0, + "source": "middleware_http_security_getrequestfingerprint", + "target": "middleware_http_security_simplehash", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L11", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L56", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_isjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L42", + "weight": 1.0, + "source": "middleware_procedures", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L3", + "weight": 1.0, + "source": "middleware_procedures", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L3", + "weight": 1.0, + "source": "middleware_procedures", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "middleware_procedures", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "middleware_procedures", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_audit", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_events", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_settings", + "target": "middleware_procedures", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_audit", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_events", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_hackathon", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures_isadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_admin", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_settings", + "target": "middleware_procedures_issuperadmin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_judge", + "target": "middleware_procedures_isjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L84", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ddos_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L502", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L26", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_enforcesizelimit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L352", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_flushlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L342", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_flushqueue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L603", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_getddosstats", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L497", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_getrecentsecurityevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L282", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_hasinjectionpattern", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L16", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_iprecord", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L24", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_iptrackingstore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L454", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L169", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L118", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L349", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitlogcooldown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L4", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitrecord", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L14", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_ratelimitstore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L196", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_sanitize_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L203", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L326", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_securityevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L337", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_securitylog", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L302", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateemail", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L591", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L309", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateurl", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L319", + "weight": 1.0, + "source": "middleware_security", + "target": "middleware_security_validateuuid", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L340", + "weight": 1.0, + "source": "middleware_security", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_stripe", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L14", + "weight": 1.0, + "source": "verify_email_route", + "target": "middleware_security_ratelimit", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L30", + "weight": 1.0, + "source": "verify_email_route_post", + "target": "middleware_security_ratelimit" + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_rate_limits", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L220", + "weight": 1.0, + "source": "middleware_security_sanitizeinput", + "target": "middleware_security_hasinjectionpattern", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_sanitizeinput", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L493", + "weight": 1.0, + "source": "middleware_security_logsecurityevent", + "target": "middleware_security_flushlogs", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/middleware/security.ts", + "source_location": "L523", + "weight": 1.0, + "source": "middleware_security_ddosprotection", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_stripe", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_logsecurityevent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_ddosprotection", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_trpc", + "target": "middleware_security_validaterequestsize", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L4", + "weight": 1.0, + "source": "src_root", + "target": "routers_admin", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L4", + "weight": 1.0, + "source": "src_root", + "target": "routers_admin_adminrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_root", + "target": "routers_audit", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_root", + "target": "routers_audit_auditrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_root", + "target": "routers_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_root", + "target": "routers_events_eventrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_root", + "target": "routers_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_root", + "target": "routers_hackathon_hackathonrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_root", + "target": "routers_hello", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_root", + "target": "routers_hello_hellorouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_root", + "target": "routers_judge", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_root", + "target": "routers_judge_judgerouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_root", + "target": "routers_member", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L5", + "weight": 1.0, + "source": "src_root", + "target": "routers_member_memberrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L12", + "weight": 1.0, + "source": "src_root", + "target": "routers_settings", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L12", + "weight": 1.0, + "source": "src_root", + "target": "routers_settings_settingsrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L9", + "weight": 1.0, + "source": "src_root", + "target": "routers_stripe", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L9", + "weight": 1.0, + "source": "src_root", + "target": "routers_stripe_striperouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L11", + "weight": 1.0, + "source": "src_root", + "target": "routers_team", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L11", + "weight": 1.0, + "source": "src_root", + "target": "routers_team_teamrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_root", + "target": "routers_user", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_root", + "target": "routers_user_userrouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L28", + "weight": 1.0, + "source": "src_root", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/root.ts", + "source_location": "L1", + "weight": 1.0, + "source": "src_root", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "lib_trpc", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L2", + "weight": 1.0, + "source": "trpc_route", + "target": "src_root_approuter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_admin", + "target": "routers_admin_adminrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_admin", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L15", + "weight": 1.0, + "source": "routers_admin", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_admin", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/admin.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_admin", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L7", + "weight": 1.0, + "source": "routers_audit", + "target": "routers_audit_auditrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_audit", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/audit.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_audit", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L9", + "weight": 1.0, + "source": "routers_events", + "target": "routers_events_eventrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_events", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/events.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_events", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_hackathon", + "target": "routers_hackathon_hackathonrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathoneventattendees", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonevents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_hackathon", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L17", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hackathon.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_hackathon", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L32", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_greet", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L11", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_greetpublic", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_sayhello", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "routers_hello_procedures_sayhelloauth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello-procedures.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello_procedures", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_sayhello", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_greetpublic", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_sayhelloauth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_procedures_greet", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_hello", + "target": "routers_hello_hellorouter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/hello.ts", + "source_location": "L1", + "weight": 1.0, + "source": "routers_hello", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L55", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_buildcoveragequeues", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L156", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_judgerouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L20", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_shufflearray", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L36", + "weight": 1.0, + "source": "routers_judge", + "target": "routers_judge_znormalize", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_hackathonmaps", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgeassignments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_judge", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L18", + "weight": 1.0, + "source": "routers_judge", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_judge", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_judge", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/judge.ts", + "source_location": "L95", + "weight": 1.0, + "source": "routers_judge_buildcoveragequeues", + "target": "routers_judge_shufflearray", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L19", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_memberrouter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L8", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_nameschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_phoneschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_member", + "target": "routers_member_urlschema", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_member", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_member", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L6", + "weight": 1.0, + "source": "routers_member", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/member.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_member", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L8", + "weight": 1.0, + "source": "routers_settings", + "target": "routers_settings_settingsrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_settings", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L6", + "weight": 1.0, + "source": "routers_settings", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_settings", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/settings.ts", + "source_location": "L2", + "weight": 1.0, + "source": "routers_settings", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L289", + "weight": 1.0, + "source": "routers_stripe", + "target": "routers_stripe_createorupdatemembership", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L14", + "weight": 1.0, + "source": "routers_stripe", + "target": "routers_stripe_striperouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_stripe", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L5", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/stripe.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_stripe", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L13", + "weight": 1.0, + "source": "routers_team", + "target": "routers_team_checkteameditwindow", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L40", + "weight": 1.0, + "source": "routers_team", + "target": "routers_team_teamrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_team", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L11", + "weight": 1.0, + "source": "routers_team", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_team", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/team.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_team", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L9", + "weight": 1.0, + "source": "routers_user", + "target": "routers_user_userrouter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_user", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L4", + "weight": 1.0, + "source": "routers_user", + "target": "schemas_members_userprofiles", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/routers/user.ts", + "source_location": "L3", + "weight": 1.0, + "source": "routers_user", + "target": "src_trpc_uploadprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L298", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_adminprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L138", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_cache_invalidation_map", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L180", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_cacheinvalidationmiddleware", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L81", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_enforcecontenttype", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L15", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_errorformatter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L240", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_isauthed", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L291", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_judgeprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L277", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_protectedprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L199", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_publicprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L44", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_requiresdb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L60", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_sanitizeinputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L37", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_t", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L284", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_uploadprocedure", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/src/trpc.ts", + "source_location": "L98", + "weight": 1.0, + "source": "src_trpc", + "target": "src_trpc_uploadsanitizeinputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "api_tsconfig", + "target": "api_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "api_tsconfig_compileroptions", + "target": "api_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/api/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "api_tsconfig_compileroptions", + "target": "api_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "auth_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "auth_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_peerdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "auth_package", + "target": "auth_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "auth_package_exports", + "target": "auth_package_exports_email", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "auth_package_scripts", + "target": "auth_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "auth_package_scripts", + "target": "auth_package_scripts_type_check", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_auth_drizzle_adapter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_nodemailer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "auth_package_dependencies", + "target": "auth_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "auth_package_peerdependencies", + "target": "auth_package_peerdependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_eslint_config_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_eslint_plugin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_parser", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "auth_package_devdependencies", + "target": "auth_package_devdependencies_typescript_eslint_utils", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_adapter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_adapter", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L66", + "weight": 1.0, + "source": "src_adapter", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/adapter.ts", + "source_location": "L6", + "weight": 1.0, + "source": "src_adapter", + "target": "src_adapter_createadapter", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_auth", + "target": "src_adapter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_auth", + "target": "src_adapter_adapter", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L1", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_auth", + "target": "src_auth_handlers_auth_signin_signout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_auth", + "target": "src_config", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/auth.ts", + "source_location": "L2", + "weight": 1.0, + "source": "src_auth", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L1", + "weight": 1.0, + "source": "src_utils", + "target": "src_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/config.ts", + "source_location": "L68", + "weight": 1.0, + "source": "src_config", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/config.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_config", + "target": "src_config_html", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_config_authconfig", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_email", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/email.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_email", + "target": "src_email_sendacceptanceemail", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_email_sendacceptanceemail", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_getcurrentuserid", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_auth_src_index_ts_src_index", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L15", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_getcurrentuserid", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_utils", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_utils_requireauth", + "target": "src_utils_getsession", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "packages/auth/src/utils.ts", + "source_location": "L16", + "weight": 1.0, + "source": "src_utils_getcurrentuserid", + "target": "src_utils_requireauth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "auth_tsconfig", + "target": "auth_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions", + "target": "auth_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/auth/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "auth_tsconfig_compileroptions_paths", + "target": "auth_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/consts/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "consts_package", + "target": "consts_package_version", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "db_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "db_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "db_package", + "target": "db_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "db_package", + "target": "db_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "db_package", + "target": "db_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "db_package", + "target": "db_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "db_package", + "target": "db_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "db_package", + "target": "db_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "db_package", + "target": "db_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "db_package", + "target": "db_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "db_package", + "target": "db_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_db_reset", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_db_seed", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_migrate_generate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_migrate_push", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "db_package_scripts", + "target": "db_package_scripts_studio", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_pg", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_postgres", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_t3_oss_env_nextjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "db_package_dependencies", + "target": "db_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_drizzle_kit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_types_pg", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "db_package_devdependencies", + "target": "db_package_devdependencies_xlsx", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L3", + "weight": 1.0, + "source": "scripts_seed", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L6", + "weight": 1.0, + "source": "scripts_seed", + "target": "scripts_seed_main", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/scripts/seed.ts", + "source_location": "L2", + "weight": 1.0, + "source": "scripts_seed", + "target": "src_client", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "src_client", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_client", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L8", + "weight": 1.0, + "source": "src_client", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/client.ts", + "source_location": "L10", + "weight": 1.0, + "source": "src_client", + "target": "src_client_globalfordb", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "src_client_drizzledb", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/env.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_env_ts_src_env", + "target": "packages_db_src_env_ts_src_env_env", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_admins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L13", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_index", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L14", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_security_securityseverityenum", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L15", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_settings", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "re-export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/index.ts", + "source_location": "L15", + "weight": 1.0, + "source": "packages_db_src_index_ts_src_index", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L5", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L20", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_admins_adminsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/admins.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_admins", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L5", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_admins", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_admins_admins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L26", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L51", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/auth.ts", + "source_location": "L63", + "weight": 1.0, + "source": "schemas_auth", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L2", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L12", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_auth", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L12", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_users", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_accounts", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_sessions", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_auth_verificationtokens", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L31", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventcheckins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L58", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventcheckinsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_events", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L50", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_events_eventsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/events.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_events", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L6", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_events", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L294", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventattendees", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L325", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventattendeesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L268", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonevents", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L314", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathoneventsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L85", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonparticipants", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L229", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonparticipantsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L183", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonprojects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L339", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonprojectsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L223", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L60", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonteams", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L251", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_hackathons_hackathonteamsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L14", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/hackathons.ts", + "source_location": "L14", + "weight": 1.0, + "source": "schemas_hackathons", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L4", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_hackathons_hackathons", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L7", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_judge", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L3", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_members", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_security", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L10", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_settings", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/index.ts", + "source_location": "L8", + "weight": 1.0, + "source": "schemas_index", + "target": "schemas_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L124", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_hackathonmaps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L217", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_hackathonmapsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L42", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgeassignments", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L180", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgeassignmentsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L140", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L224", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgequeuerelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L15", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L170", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L93", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L206", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgevotesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L66", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/judge.ts", + "source_location": "L194", + "weight": 1.0, + "source": "schemas_judge", + "target": "schemas_judge_judgingprojectsrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judges", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgingprojects", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgevotes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L12", + "weight": 1.0, + "source": "hackathonid_route", + "target": "schemas_judge_judgequeue", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L30", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L67", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membershiphistory", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L111", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membershiphistoryrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L103", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_membersrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L13", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_userprofiles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L96", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_userprofilesrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/members.ts", + "source_location": "L85", + "weight": 1.0, + "source": "schemas_members", + "target": "schemas_members_usersrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_members_members", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_security", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/security.ts", + "source_location": "L11", + "weight": 1.0, + "source": "schemas_security", + "target": "schemas_security_securityseverityenum", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "cleanup_audit_logs_route", + "target": "schemas_security_auditlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/settings.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schemas_settings", + "target": "schemas_settings_systemsettings", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L17", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L83", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_stripepaymentsrelations", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L58", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/src/schemas/stripe.ts", + "source_location": "L94", + "weight": 1.0, + "source": "schemas_stripe", + "target": "schemas_stripe_useraccountlinksrelations", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "stripe_route", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_stripe_stripepayments", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L3", + "weight": 1.0, + "source": "verify_email_route", + "target": "schemas_stripe_useraccountlinks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "db_tsconfig", + "target": "db_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "db_tsconfig_compileroptions", + "target": "db_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/db/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "db_tsconfig_compileroptions_paths", + "target": "db_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "ui_eslint_config", + "target": "eslint_react_internal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "packages/ui/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "ui_eslint_config", + "target": "eslint_react_internal_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L47", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_files", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_license", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_peerdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_sideeffects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_package", + "target": "ui_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_default", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_exports_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_exports_styles_css", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "ui_package_exports", + "target": "ui_package_import", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_build_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_build_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_check_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_dev_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_dev_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "ui_package_scripts", + "target": "ui_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "ui_package_peerdependencies", + "target": "ui_package_peerdependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L43", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_eslint_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L44", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_tailwindcss_cli", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_types_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L45", + "weight": 1.0, + "source": "ui_package_devdependencies", + "target": "ui_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L48", + "weight": 1.0, + "source": "ui_package_dependencies", + "target": "ui_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/package.json", + "source_location": "L49", + "weight": 1.0, + "source": "ui_package_dependencies", + "target": "ui_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/card.jsx", + "source_location": "L4", + "weight": 1.0, + "source": "packages_ui_src_card_jsx_src_card", + "target": "packages_ui_src_card_jsx_src_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/card.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "packages_ui_src_card_tsx_src_card", + "target": "packages_ui_src_card_tsx_src_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "src_glass", + "target": "src_glass_glass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/glass.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "src_glass", + "target": "src_glass_glassprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/gradient.jsx", + "source_location": "L4", + "weight": 1.0, + "source": "packages_ui_src_gradient_jsx_src_gradient", + "target": "packages_ui_src_gradient_jsx_src_gradient_gradient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/gradient.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "packages_ui_src_gradient_tsx_src_gradient", + "target": "packages_ui_src_gradient_tsx_src_gradient_gradient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/src/turborepo-logo.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "packages_ui_src_turborepo_logo_tsx_src_turborepo_logo", + "target": "src_turborepo_logo_turborepologo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_tsconfig", + "target": "ui_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_emitdeclarationonly", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "ui_tsconfig_compileroptions", + "target": "ui_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "ui_turbo", + "target": "ui_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "ui_turbo", + "target": "ui_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_build_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L13", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L20", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L16", + "weight": 1.0, + "source": "ui_turbo_tasks", + "target": "ui_turbo_tasks_dev_styles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "ui_turbo_tasks_build", + "target": "ui_turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "ui_turbo_tasks_build_styles", + "target": "ui_turbo_build_styles_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "ui_turbo_tasks_build_components", + "target": "ui_turbo_build_components_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L14", + "weight": 1.0, + "source": "ui_turbo_tasks_dev", + "target": "ui_turbo_dev_with", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L17", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_styles", + "target": "ui_turbo_dev_styles_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L18", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_styles", + "target": "ui_turbo_dev_styles_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L21", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_components", + "target": "ui_turbo_dev_components_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "packages/ui/turbo.json", + "source_location": "L22", + "weight": 1.0, + "source": "ui_turbo_tasks_dev_components", + "target": "ui_turbo_dev_components_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L1", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_fs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L4", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_packagestorestore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L2", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_path", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "restore-workspace.js", + "source_location": "L15", + "weight": 1.0, + "source": "restore_workspace", + "target": "restore_workspace_restore", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_author", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_description", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_keywords", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_license", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_main", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "discordbot_package", + "target": "discordbot_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "discordbot_package_scripts", + "target": "discordbot_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_discord_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_dotenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_fuse_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "discordbot_package_dependencies", + "target": "discordbot_package_dependencies_zod", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "discordbot_package_devdependencies", + "target": "discordbot_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L229", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L239", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L161", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_guidesearchengine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchablesection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L227", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchengine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchresult", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L203", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_searchresultformatter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L21", + "weight": 1.0, + "source": "commands_ask", + "target": "commands_ask_synonymexpander", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ask", + "target": "src_notion", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ask", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L144", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_addwordandsynonyms", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L127", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_expandquery", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L136", + "weight": 1.0, + "source": "commands_ask_synonymexpander", + "target": "commands_ask_synonymexpander_tokenize", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L168", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_search", + "target": "commands_ask_synonymexpander_expandquery", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L130", + "weight": 1.0, + "source": "commands_ask_synonymexpander_expandquery", + "target": "commands_ask_synonymexpander_addwordandsynonyms", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L128", + "weight": 1.0, + "source": "commands_ask_synonymexpander_expandquery", + "target": "commands_ask_synonymexpander_tokenize", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L173", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_ensureindexready", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L178", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_rebuildindex", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L165", + "weight": 1.0, + "source": "commands_ask_guidesearchengine", + "target": "commands_ask_guidesearchengine_search", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L246", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_guidesearchengine_search", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L166", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_search", + "target": "commands_ask_guidesearchengine_ensureindexready", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L175", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_ensureindexready", + "target": "commands_ask_guidesearchengine_rebuildindex", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L179", + "weight": 1.0, + "source": "commands_ask_guidesearchengine_rebuildindex", + "target": "src_notion_getfullguide" + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L206", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_formatembed", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L222", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_getnoresultsmessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L216", + "weight": 1.0, + "source": "commands_ask_searchresultformatter", + "target": "commands_ask_searchresultformatter_getwarningmessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L253", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_formatembed", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L254", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_getwarningmessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ask.ts", + "source_location": "L249", + "weight": 1.0, + "source": "commands_ask_execute", + "target": "commands_ask_searchresultformatter_getnoresultsmessage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L144", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearcommandexecutor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L109", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearcommandvalidator", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_clearresult", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L189", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L201", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L43", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_messagecleaner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_clear", + "target": "commands_clear_permissionvalidator", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L32", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_getallowedroles", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L27", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L22", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_haspermission", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L38", + "weight": 1.0, + "source": "commands_clear_permissionvalidator", + "target": "commands_clear_permissionvalidator_memberhasanyrole", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L160", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_permissionvalidator_haspermission", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L23", + "weight": 1.0, + "source": "commands_clear_permissionvalidator_haspermission", + "target": "commands_clear_permissionvalidator_getallowedroles", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L24", + "weight": 1.0, + "source": "commands_clear_permissionvalidator_haspermission", + "target": "commands_clear_permissionvalidator_memberhasanyrole", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L46", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_clearmessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L78", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_fetchmessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L85", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_filterdeletablemessages", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L96", + "weight": 1.0, + "source": "commands_clear_messagecleaner", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L172", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_messagecleaner_clearmessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L51", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_fetchmessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L61", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_filterdeletablemessages", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L73", + "weight": 1.0, + "source": "commands_clear_messagecleaner_clearmessages", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L162", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_messagecleaner_geterrormessage", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L110", + "weight": 1.0, + "source": "commands_clear_clearcommandvalidator", + "target": "commands_clear_clearcommandvalidator_validatecontext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L148", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor_execute", + "target": "commands_clear_clearcommandvalidator_validatecontext", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/clear.ts", + "source_location": "L145", + "weight": 1.0, + "source": "commands_clear_clearcommandexecutor", + "target": "commands_clear_clearcommandexecutor_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L42", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L46", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_guide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L65", + "weight": 1.0, + "source": "commands_guide", + "target": "commands_guide_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_guide", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L34", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_formatcontent", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "commands_guide_guide_getselectmenuoptions", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "field", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_guide_guide", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L49", + "weight": 1.0, + "source": "commands_guide_execute", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "confidence_score": 1.0, + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_guide_guide_getsections", + "target": "src_notion_getfullguide" + }, + { + "relation": "references", + "context": "generic_arg", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L16", + "weight": 1.0, + "source": "commands_guide_guide_getsections", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L71", + "weight": 1.0, + "source": "commands_guide_handleselectmenu", + "target": "commands_guide_guide_getsections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L50", + "weight": 1.0, + "source": "commands_guide_execute", + "target": "commands_guide_guide_getselectmenuoptions", + "confidence_score": 1.0 + }, + { + "relation": "references", + "context": "parameter_type", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L25", + "weight": 1.0, + "source": "commands_guide_guide_getselectmenuoptions", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/guide.ts", + "source_location": "L72", + "weight": 1.0, + "source": "commands_guide_handleselectmenu", + "target": "commands_guide_guide_formatcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L11", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_cooldownusers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/meow.ts", + "source_location": "L14", + "weight": 1.0, + "source": "commands_meow", + "target": "commands_meow_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L3", + "weight": 1.0, + "source": "commands_ping", + "target": "commands_ping_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/ping.ts", + "source_location": "L7", + "weight": 1.0, + "source": "commands_ping", + "target": "commands_ping_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L15", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_blocked_roles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L26", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L31", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_execute", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L95", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_handlebutton", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/roles.ts", + "source_location": "L17", + "weight": 1.0, + "source": "commands_roles", + "target": "commands_roles_roleemojis", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L40", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_data", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L9", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_eventscheduler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L71", + "weight": 1.0, + "source": "commands_startevent", + "target": "commands_startevent_execute", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L19", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_calculatedelay", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L35", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_getunixtimestamp", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L13", + "weight": 1.0, + "source": "commands_startevent_eventscheduler", + "target": "commands_startevent_eventscheduler_parsetime", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L98", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_parsetime", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L106", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_calculatedelay", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/commands/startEvent.ts", + "source_location": "L112", + "weight": 1.0, + "source": "commands_startevent_execute", + "target": "commands_startevent_eventscheduler_getunixtimestamp", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L18", + "weight": 1.0, + "source": "sites_discordbot_src_env_ts_src_env", + "target": "sites_discordbot_src_env_ts_src_env_env", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/env.ts", + "source_location": "L6", + "weight": 1.0, + "source": "sites_discordbot_src_env_ts_src_env", + "target": "src_env_envschema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L219", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_bot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L21", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_botcommand", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L19", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L18", + "weight": 1.0, + "source": "sites_discordbot_src_index_ts_src_index", + "target": "src_index_filename", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L32", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L156", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handlebuttonpress", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L95", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleinteraction", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L135", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L111", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_handleslashcommand", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L48", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_loadcommands", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L79", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_registercommands", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L42", + "weight": 1.0, + "source": "src_index_bot", + "target": "src_index_bot_start", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L43", + "weight": 1.0, + "source": "src_index_bot_start", + "target": "src_index_bot_loadcommands", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L44", + "weight": 1.0, + "source": "src_index_bot_start", + "target": "src_index_bot_registercommands", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L104", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handlebuttonpress", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L101", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handleselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/index.ts", + "source_location": "L98", + "weight": 1.0, + "source": "src_index_bot_handleinteraction", + "target": "src_index_bot_handleslashcommand", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L123", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_cleanmarkdown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L72", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_extracttext", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L53", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_getblockchildren", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L155", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_getfullguide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L3", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_guidesections", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L14", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionapiresponse", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L7", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionblock", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L36", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_notionfetch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L21", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_richtextsegment", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L132", + "weight": 1.0, + "source": "src_notion", + "target": "src_notion_traverseblocks", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L137", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_getblockchildren", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L140", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_extracttext", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L143", + "weight": 1.0, + "source": "src_notion_traverseblocks", + "target": "src_notion_cleanmarkdown", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/notion.ts", + "source_location": "L160", + "weight": 1.0, + "source": "src_notion_getfullguide", + "target": "src_notion_traverseblocks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L7", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L10", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_edgecases", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L6", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_filename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L26", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_mockinteraction", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L171", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_runsuite", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L213", + "weight": 1.0, + "source": "tests_testask", + "target": "tests_testask_runtest", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L115", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_channel", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L67", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_client", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L36", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_constructor", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L119", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_createmockchannel", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L132", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_deferreply", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L151", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_deferupdate", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L143", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_editreply", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L155", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L147", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_followup", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L86", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_guild", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L44", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_isbutton", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L41", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_ischatinputcommand", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L47", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_isstringselectmenu", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L166", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L51", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_options", + "confidence_score": 1.0 + }, + { + "relation": "method", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L137", + "weight": 1.0, + "source": "tests_testask_mockinteraction", + "target": "tests_testask_mockinteraction_reply", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L116", + "weight": 1.0, + "source": "tests_testask_mockinteraction_channel", + "target": "tests_testask_mockinteraction_createmockchannel", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L134", + "weight": 1.0, + "source": "tests_testask_mockinteraction_deferreply", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L140", + "weight": 1.0, + "source": "tests_testask_mockinteraction_reply", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L144", + "weight": 1.0, + "source": "tests_testask_mockinteraction_editreply", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L148", + "weight": 1.0, + "source": "tests_testask_mockinteraction_followup", + "target": "tests_testask_mockinteraction_extractcontent", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L152", + "weight": 1.0, + "source": "tests_testask_mockinteraction_deferupdate", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L163", + "weight": 1.0, + "source": "tests_testask_mockinteraction_extractcontent", + "target": "tests_testask_mockinteraction_log", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/src/tests/testAsk.ts", + "source_location": "L191", + "weight": 1.0, + "source": "tests_testask_runsuite", + "target": "tests_testask_runtest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/start.sh", + "source_location": "L1", + "weight": 1.0, + "source": "discordbot_start", + "target": "c_users_bootcamp_desktop_passion_query_sites_discordbot_start_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/startup.sh", + "source_location": "L1", + "weight": 1.0, + "source": "discordbot_startup", + "target": "c_users_bootcamp_desktop_passion_query_sites_discordbot_startup_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L19", + "weight": 1.0, + "source": "discordbot_tsconfig", + "target": "discordbot_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_allowsyntheticdefaultimports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_declaration", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_noimplicitany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_rootdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_sourcemap", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/discordBot/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "discordbot_tsconfig_compileroptions", + "target": "discordbot_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/CodeOfConductFooter.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "app_codeofconductfooter", + "target": "app_codeofconductfooter_codeofconductfooter", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "app_layout_robotomono", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "app_layout_spacegrotesk", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_footer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_footer_footer", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_navbar", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "components_serviceworkerregistrar_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "sites_hacklytics2027_app_layout_tsx_app_layout_metadata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/layout.tsx", + "source_location": "L40", + "weight": 1.0, + "source": "sites_hacklytics2027_app_layout_tsx_app_layout", + "target": "sites_hacklytics2027_app_layout_tsx_app_layout_rootlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/not-found.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_hacklytics2027_app_not_found_tsx_app_not_found", + "target": "sites_hacklytics2027_app_not_found_tsx_app_not_found_notfound", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L260", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_countdown", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_flowerbloom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L370", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "app_page_homepage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/app/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_hacklytics2027_app_page_tsx_app_page", + "target": "components_homesections", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_aliases", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_rsc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_style", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_tailwind", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_components", + "target": "hacklytics2027_components_tsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_basecolor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_components_tailwind", + "target": "hacklytics2027_components_tailwind_css", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_components_aliases", + "target": "hacklytics2027_components_aliases_components", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components.json", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_components_aliases", + "target": "hacklytics2027_components_aliases_utils", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_cherryblossom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L219", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_colors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L234", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_drift_classes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L133", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_fallingpetal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L323", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L442", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L354", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L205", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerinstance", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L278", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowerrenderer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L472", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_flowervine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L251", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_generateflowers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L49", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_lotusflower", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_smalldaisy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L160", + "weight": 1.0, + "source": "components_floatingflowers", + "target": "components_floatingflowers_spiralbloom", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_faqsection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_sponsor", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_trackssection", + "target": "components_floatingflowers", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L481", + "weight": 1.0, + "source": "components_floatingflowers_flowervine", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/FloatingFlowers.tsx", + "source_location": "L252", + "weight": 1.0, + "source": "components_floatingflowers_generateflowers", + "target": "components_floatingflowers_seededrandom", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers_flowerdivider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_faqsection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_sponsor", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sections_trackssection", + "target": "components_floatingflowers_floweraccent", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "components_homesections", + "target": "components_floatingflowers_flowervine", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Footer.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_footer", + "target": "components_footer_footer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "components_homesections", + "target": "components_homesections_homesections", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "components_homesections", + "target": "components_lazysection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "components_homesections", + "target": "schedule_schedule", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_homesections", + "target": "sections_aboutsection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/HomeSections.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "components_homesections", + "target": "sections_faqsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/LazySection.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "components_lazysection", + "target": "components_lazysection_lazysection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "components_navbar", + "target": "components_navbar_navbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/Navbar.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "components_navbar", + "target": "components_navbar_navitems", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "components_serviceworkerregistrar", + "target": "components_serviceworkerregistrar_serviceworkerregistrar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/AboutSection.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sections_aboutsection", + "target": "sections_aboutsection_aboutsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L82", + "weight": 1.0, + "source": "sections_faqsection", + "target": "sections_faqsection_faq", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/FAQSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_faqsection", + "target": "sections_faqsection_faqcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L290", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_prizeandspeakersection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_prizeticket", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L145", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_speakeravatar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_speakercard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx", + "source_location": "L81", + "weight": 1.0, + "source": "sections_prizeandspeakersection", + "target": "sections_prizeandspeakersection_trackprizecard", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data_categories", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_data_scheduledata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "schedule_schedule", + "target": "schedule_schedule_schedule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L142", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_categories", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L8", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_dayschedule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L9", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_scheduledata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Schedule/data.ts", + "source_location": "L1", + "weight": 1.0, + "source": "schedule_data", + "target": "schedule_data_scheduleevent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_bronzesponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_goldsponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_minisponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_silversponsors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/Sponsor.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "sections_sponsor", + "target": "sections_sponsor_sponsorssection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L84", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_trackcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/sections/TracksSection.tsx", + "source_location": "L125", + "weight": 1.0, + "source": "sections_trackssection", + "target": "sections_trackssection_trackssection", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "ui_button", + "target": "lib_utils", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "ui_button", + "target": "lib_utils_cn", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L43", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_button", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_buttonprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/components/ui/button.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "ui_button", + "target": "ui_button_buttonvariants", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/eslint.config.mjs", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_eslint_config", + "target": "eslint_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/lib/utils.ts", + "source_location": "L8", + "weight": 1.0, + "source": "lib_utils", + "target": "lib_utils_cn", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/next.config.ts", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_next_config", + "target": "hacklytics2027_next_config_nextconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_package", + "target": "hacklytics2027_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_e2e", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_export", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_package_scripts", + "target": "hacklytics2027_package_scripts_vision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_babel_plugin_react_compiler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_class_variance_authority", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_clsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_firebase", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_radix_ui_react_slot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_react_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_tailwind_merge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "hacklytics2027_package_dependencies", + "target": "hacklytics2027_package_dependencies_yudiel_react_qr_scanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_autoprefixer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_baseline_browser_mapping", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_playwright_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_types_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "hacklytics2027_package_devdependencies", + "target": "hacklytics2027_package_devdependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/postcss.config.mjs", + "source_location": "L1", + "weight": 1.0, + "source": "hacklytics2027_postcss_config", + "target": "hacklytics2027_postcss_config_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L78", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L38", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L44", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L49", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L60", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L84", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_proxy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L71", + "weight": 1.0, + "source": "hacklytics2027_proxy", + "target": "hacklytics2027_proxy_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L130", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L51", + "weight": 1.0, + "source": "hacklytics2027_proxy_handleetag", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L93", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L62", + "weight": 1.0, + "source": "hacklytics2027_proxy_handlelastmodified", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L94", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L88", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/proxy.ts", + "source_location": "L109", + "weight": 1.0, + "source": "hacklytics2027_proxy_proxy", + "target": "hacklytics2027_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L62", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_cachefirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L51", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_isnavigationrequest", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L40", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_isstaticasset", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L118", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_networkfirst", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L6", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_precache_urls", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/public/sw.js", + "source_location": "L84", + "weight": 1.0, + "source": "public_sw", + "target": "public_sw_stalewhilerevalidate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L1", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "scripts_capture_vision_chromium", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L2", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "scripts_capture_vision_path", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.js", + "source_location": "L4", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision", + "target": "sites_hacklytics2027_scripts_capture_vision_js_scripts_capture_vision_capturevision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/scripts/capture-vision.ts", + "source_location": "L7", + "weight": 1.0, + "source": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision", + "target": "sites_hacklytics2027_scripts_capture_vision_ts_scripts_capture_vision_capturevision", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L25", + "weight": 1.0, + "source": "hacklytics2027_tsconfig", + "target": "hacklytics2027_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_incremental", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_plugins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions", + "target": "hacklytics2027_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/tsconfig.json", + "source_location": "L21", + "weight": 1.0, + "source": "hacklytics2027_tsconfig_compileroptions_paths", + "target": "hacklytics2027_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "hacklytics2027_turbo", + "target": "hacklytics2027_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "hacklytics2027_turbo_tasks", + "target": "hacklytics2027_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "hacklytics2027_turbo_tasks_build", + "target": "hacklytics2027_turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "analytics_page", + "target": "analytics_page_analyticspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "analytics_page", + "target": "analytics_page_statcardprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "analytics_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "analytics_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "analytics_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/analytics/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "analytics_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "attendees_page_attendeespage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "attendees_page_adminattendeeviewer", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_attendees_page_tsx_attendees_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_analyticstab_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_attendeestab_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_eventstab_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_judgestab_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "hackathons_scannertab_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_adminhackathondashboard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L277", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconcalendar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L259", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconchart", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L223", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconscanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L241", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_iconusers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "id_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "hackathons_error_adminerror", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading", + "target": "sites_mainweb_app_portal_admin_hackathons_loading_tsx_hackathons_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_createhackathonform_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_edithackathonform_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_hackathoncard_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_adminhackathonspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgematrixview_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "judging_page", + "target": "judging_judgingtools_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "judging_page", + "target": "judging_page_adminresultspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judging_page", + "target": "judging_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judging_page", + "target": "judging_rankingsview_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_page", + "target": "judging_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_page", + "target": "judging_roomassignmentsview_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "judging_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/judging/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "judging_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "admin_layout", + "target": "admin_layout_layout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "admin_layout", + "target": "portal_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/layout.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "admin_layout", + "target": "portal_adminlayout_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "admin_page", + "target": "admin_page_adminpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "admin_page", + "target": "admin_page_event", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "admin_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "admin_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "admin_page", + "target": "portal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "admin_page", + "target": "portal_eventformmodal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "admin_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "admin_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "admin_page", + "target": "portal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "admin_page", + "target": "portal_qrcodemodal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/projects/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page", + "target": "sites_mainweb_app_portal_admin_projects_page_tsx_projects_page_projectspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "settings_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "settings_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/settings/page.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "settings_page", + "target": "settings_page_adminsettingspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "setup_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "setup_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "setup_page", + "target": "setup_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "setup_page", + "target": "setup_createhackathonstep_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep_importjudgesstep", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_page", + "target": "setup_importdatastep_importprojectsstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L33", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_adminsetuppage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsecsv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsedjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "setup_page", + "target": "setup_page_parsedproject", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "setup_page", + "target": "setup_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/admin/setup/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "setup_page", + "target": "setup_setupwizard_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts", + "source_location": "L7", + "weight": 1.0, + "source": "nextauth_route", + "target": "nextauth_route_head", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts", + "source_location": "L24", + "weight": 1.0, + "source": "verify_email_route", + "target": "verify_email_route_post", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts", + "source_location": "L5", + "weight": 1.0, + "source": "cleanup_audit_logs_route", + "target": "cleanup_audit_logs_route_get", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts", + "source_location": "L26", + "weight": 1.0, + "source": "hackathonid_route", + "target": "hackathonid_route_get", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts", + "source_location": "L4", + "weight": 1.0, + "source": "trpc_route", + "target": "trpc_route_handler", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L160", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_createorupdatemembership", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L17", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_post", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts", + "source_location": "L9", + "weight": 1.0, + "source": "stripe_route", + "target": "stripe_route_tx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "error_page", + "target": "error_page_autherrorcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/auth/error/page.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "error_page", + "target": "error_page_autherrorpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "club_page", + "target": "club_page_clubpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "club_page", + "target": "club_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "club_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "club_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "club_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "club_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "club_page", + "target": "portal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "club_page", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "club_page", + "target": "portal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/club/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "club_page", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L71", + "weight": 1.0, + "source": "dashboard_page", + "target": "dashboard_page_dashboard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "dashboard_page", + "target": "dashboard_page_statusbadge", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "dashboard_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "dashboard_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_linkstripeaccount", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/dashboard/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "dashboard_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "id_error", + "target": "background_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "id_error", + "target": "background_index_background", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "id_error", + "target": "id_error_error", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "id_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "id_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "id_loading", + "target": "id_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "id_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "id_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_hackathondetailpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L102", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "id_page_tabtype", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_id_page_tsx_id_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "id_page_formatdaterange", + "target": "id_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L240", + "weight": 1.0, + "source": "id_page_hackathondetailpage", + "target": "id_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx", + "source_location": "L135", + "weight": 1.0, + "source": "id_page_hackathondetailpage", + "target": "id_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "participants_page", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "participants_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "participants_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L104", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_participanthackathonpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L102", + "weight": 1.0, + "source": "participants_page", + "target": "participants_page_tabtype", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "participants_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "participants_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "participants_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "participants_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "participants_page_formatdaterange", + "target": "participants_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L239", + "weight": 1.0, + "source": "participants_page_participanthackathonpage", + "target": "participants_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx", + "source_location": "L135", + "weight": 1.0, + "source": "participants_page_participanthackathonpage", + "target": "participants_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "hackathons_error_error", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_error_tsx_hackathons_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading", + "target": "sites_mainweb_app_portal_hackathons_loading_tsx_hackathons_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L36", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_formatdaterange", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L121", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_hackathonspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L48", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_statusconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "hackathons_page_tab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_portal_hackathons_page_tsx_hackathons_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/hackathons/page.tsx", + "source_location": "L45", + "weight": 1.0, + "source": "hackathons_page_formatdaterange", + "target": "hackathons_page_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judge_page", + "target": "judge_page_hackathondata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L23", + "weight": 1.0, + "source": "judge_page", + "target": "judge_page_judgepage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "judge_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "judge_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "register_page", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "register_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "register_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "register_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "register_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "register_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "register_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "register_page", + "target": "register_page_judge_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/judge/register/page.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "register_page", + "target": "register_page_judgeregisterpage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_layout_portallayout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_portalwrapper_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/layout.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_layout", + "target": "portal_providers_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "login_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "login_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/login/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "login_page", + "target": "login_page_home", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "portal_providers", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "portal_providers", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/providers.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "portal_providers", + "target": "portal_providers_providers", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_error", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_error", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/error.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_error", + "target": "submit_error_submiterror", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "submit_loading", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "submit_loading", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/loading.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "submit_loading", + "target": "submit_loading_loading", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "submit_page", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "submit_page", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "submit_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "submit_page", + "target": "portal_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "submit_page", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "submit_page", + "target": "submit_page_submitportalcontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/submit/page.tsx", + "source_location": "L516", + "weight": 1.0, + "source": "submit_page", + "target": "submit_page_submitportalpage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "verify_page", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "verify_page", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "verify_page", + "target": "verify_page_verifycontent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/(portal)/verify/page.tsx", + "source_location": "L294", + "weight": 1.0, + "source": "verify_page", + "target": "verify_page_verifypage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L70", + "weight": 1.0, + "source": "bootcamp_page", + "target": "bootcamp_page_bootcamppage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "bootcamp_page", + "target": "bootcamp_page_curriculum", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "bootcamp_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/bootcamp/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "bootcamp_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L145", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_apiendpoint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_codeblock", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_docsection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L255", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_docspageclient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L89", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_infocard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_nav_items", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/DocsPageClient.tsx", + "source_location": "L199", + "weight": 1.0, + "source": "docs_docspageclient", + "target": "docs_docspageclient_schematable", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "docs_page", + "target": "docs_docspageclient", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/docs/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "docs_page", + "target": "docs_page_docspage", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "events_page", + "target": "events_page_eventspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "events_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "events_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "events_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/events/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "events_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "history_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "history_page", + "target": "history_page_historypage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "history_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "history_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/history/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "history_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "lib_trpc_provider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "lib_trpc_provider_trpcreactprovider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "sites_mainweb_app_layout_tsx_app_layout_metadata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/layout.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "sites_mainweb_app_layout_tsx_app_layout", + "target": "sites_mainweb_app_layout_tsx_app_layout_rootlayout", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/not-found.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_not_found_tsx_app_not_found", + "target": "sites_mainweb_app_not_found_tsx_app_not_found_notfound", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L41", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_home", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_pie", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L39", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "app_page_pietooltipitem", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "components_card", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics_classdata", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "data_demographics_majordata", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "hero_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/page.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "sites_mainweb_app_page_tsx_app_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "projects_page_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "projects_page_projects", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/projects/page.tsx", + "source_location": "L69", + "weight": 1.0, + "source": "sites_mainweb_app_projects_page_tsx_projects_page", + "target": "sites_mainweb_app_projects_page_tsx_projects_page_projectspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "status_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "status_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "status_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "status_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/status/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "status_page", + "target": "status_page_statuspage", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "team_page", + "target": "footer_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "team_page", + "target": "navbar_index", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "team_page", + "target": "section_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "team_page", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "team_page", + "target": "team_page_team", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/app/team/page.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "team_page", + "target": "teamcard_index", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L1", + "weight": 1.0, + "source": "data_demographics", + "target": "data_demographics_classdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/assets/Data/demographics.js", + "source_location": "L27", + "weight": 1.0, + "source": "data_demographics", + "target": "data_demographics_majordata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "background_index", + "target": "background_index_background", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Background/index.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "background_index", + "target": "background_index_backgroundprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_card", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Card.tsx", + "source_location": "L1", + "weight": 1.0, + "source": "components_card", + "target": "components_card_cardprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_card", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_card_card", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "components_eventslist", + "target": "components_eventslist_eventslist", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "components_eventslist", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/EventsList.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "components_eventslist", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "footer_index", + "target": "footer_index_footer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Footer/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "footer_index", + "target": "footer_index_footerprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L16", + "weight": 1.0, + "source": "hero_index", + "target": "hero_index_hero", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "hero_index", + "target": "hero_index_heroprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hero_index", + "target": "mini_index", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Hero/index.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hero_index", + "target": "mini_index_mini", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "navbar_index", + "target": "navbar_index_navbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Navbar/index.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "navbar_index", + "target": "navbar_index_navbarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "section_index", + "target": "section_index_section", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Section/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "section_index", + "target": "section_index_sectionprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "smallhero_index", + "target": "smallhero_index_smallhero", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/SmallHero/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "smallhero_index", + "target": "smallhero_index_smallheroprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "teamcard_index", + "target": "teamcard_index_teamcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/TeamCard/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "teamcard_index", + "target": "teamcard_index_teamcardprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "major_index", + "target": "major_index_major", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Major/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "major_index", + "target": "major_index_majorprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "mini_index", + "target": "mini_index_mini", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Mini/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "mini_index", + "target": "mini_index_miniprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "minor_index", + "target": "minor_index_minor", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/Text/Minor/index.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "minor_index", + "target": "minor_index_minorprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/events/EventHeader.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "events_eventheader", + "target": "events_eventheader_eventheader", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "hackathons_analyticstab_analyticstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_analyticstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L61", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_attendeestab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_registrationstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L27", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_statuscolors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L44", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "hackathons_attendeestab_statusicon", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_attendeestab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "hackathons_createhackathonform_createhackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_createhackathonform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "hackathons_edithackathonform_edithackathonform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_edithackathonform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L73", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_emptyform", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_event_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L63", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventformdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventstab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_eventtype", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L59", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "hackathons_eventstab_gettypemeta", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/EventsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_eventstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_constants_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "hackathons_hackathoncard_hackathoncard", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/HackathonCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_hackathoncard", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "hackathons_judgestab_judgestab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/JudgesTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_judgestab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "hackathons_scannertab_scannertab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/ScannerTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathons_scannertab", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L60", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_getstatusmeta", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L1", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_hackathonstatus", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L9", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_statuses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/hackathons/constants.ts", + "source_location": "L66", + "weight": 1.0, + "source": "hackathons_constants", + "target": "hackathons_constants_toinputdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L32", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_judgematrixview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_judgematrixviewprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "judging_judgematrixview_vote", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_judgematrixview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_judgingtools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/JudgingTools.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "judging_judgingtools", + "target": "judging_judgingtools_judgingtoolsprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L68", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_judge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L64", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_processedranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L30", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L57", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L91", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L83", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_rankingsviewprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L47", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_tie", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L18", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "judging_rankingsview_vote", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RankingsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_rankingsview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_project", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_ranking", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_rankingsdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L33", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_roomassignmentsview", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "judging_roomassignmentsview_roomassignmentsviewprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "judging_roomassignmentsview", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_createhackathonstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_createhackathonstepprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_createhackathonstep", + "target": "setup_createhackathonstep_hackathon", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_importjudgesstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L134", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_importprojectsstep", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_parsedjudge", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/ImportDataStep.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "setup_importdatastep", + "target": "setup_importdatastep_parsedproject", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "setup_setupwizard", + "target": "setup_setupwizard_setupwizard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/admin/setup/SetupWizard.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "setup_setupwizard", + "target": "setup_setupwizard_stepprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L77", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L68", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formchipselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L290", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_forminputprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L119", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L111", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formmultichipselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L324", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L314", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formnavigationprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L44", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L37", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_formtextareaprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L174", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_searchableselect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L164", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_searchableselectprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L271", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L248", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/FormComponents.tsx", + "source_location": "L243", + "weight": 1.0, + "source": "hackathon_formcomponents", + "target": "hackathon_formcomponents_stepprogressprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_forminput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formtextarea", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formchipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formmultichipselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_searchableselect", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_stepprogress", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_stepcontainer", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formerroralert", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_formcomponents_formnavigation", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_genders", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_levelofstudy", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_levels_of_study", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_majors", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_schools", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_constants_shirtsize", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L30", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L38", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_infotab", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L28", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "hackathon_infotab_registrationstep", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_infotab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/InfoTab.tsx", + "source_location": "L345", + "weight": 1.0, + "source": "hackathon_infotab_infotab", + "target": "hackathon_infotab_formatdate", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "hackathon_projectstab_projectstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ProjectsTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_projectstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "hackathon_scheduletab_scheduletab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/ScheduleTab.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "hackathon_scheduletab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "hackathon_teamstab_teamstab", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/TeamsTab.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_teamstab", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L6", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_dietary_options", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L28", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_genders", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L26", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_levelofstudy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L17", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_levels_of_study", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L98", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_majors", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L36", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_registration_steps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L44", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_schools", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L3", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_shirt_sizes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/hackathon/constants.ts", + "source_location": "L4", + "weight": 1.0, + "source": "hackathon_constants", + "target": "hackathon_constants_shirtsize", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/AdminLayout.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_adminlayout", + "target": "portal_adminlayout_adminlayout", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_eventformmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_eventformmodal_getcurrentdatetimelocal", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/EventFormModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_eventformmodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_linkstripeaccount_linkstripeaccount", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_linkstripeaccount_linkstripeaccountprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LinkStripeAccount.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_linkstripeaccount", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "portal_liquidglass", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LiquidGlass.tsx", + "source_location": "L3", + "weight": 1.0, + "source": "portal_liquidglass", + "target": "portal_liquidglass_liquidglassprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L2", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_profileform", + "target": "portal_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L2", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_profileform", + "target": "portal_liquidglass_liquidglass", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "portal_loadingscreen", + "target": "portal_loadingscreen_loadingscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/LoadingScreen.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_loadingscreen", + "target": "portal_loadingscreen_loadingscreenprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L11", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_maxwidthclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ModalWrapper.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_modalwrapper", + "target": "portal_modalwrapper_modalwrapperprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_modalwrapper_modalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L26", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L34", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "portal_portalsidebar_portalsidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalSidebar.tsx", + "source_location": "L29", + "weight": 1.0, + "source": "portal_portalsidebar", + "target": "portal_portalsidebar_portalsidebarprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_portalwrapper", + "target": "portal_portalsidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/PortalWrapper.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_portalwrapper", + "target": "portal_portalwrapper_portalwrapper", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L10", + "weight": 1.0, + "source": "portal_progressbar", + "target": "portal_progressbar_progressbar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ProgressBar.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_progressbar", + "target": "portal_progressbar_progressbarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_event", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L24", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_qrcodemodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRCodeModal.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "portal_qrcodemodal", + "target": "portal_qrcodemodal_qrcodemodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L15", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_qrscannermodal_qrscannermodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/QRScannerModal.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_qrscannermodal", + "target": "portal_qrscannermodal_qrscannermodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_scanresultmodal_scanresultmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/ScanResultModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "portal_scanresultmodal", + "target": "portal_scanresultmodal_scanresultmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L77", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_actionvariantclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L86", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusscreen", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusscreenprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_statusvariant", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/StatusScreen.tsx", + "source_location": "L17", + "weight": 1.0, + "source": "portal_statusscreen", + "target": "portal_statusscreen_variantconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L59", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_featurecard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_featurecardprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/FeatureCard.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "dashboard_featurecard", + "target": "dashboard_featurecard_variantclasses", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L22", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "dashboard_sidebar_sidebar", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/dashboard/Sidebar.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "dashboard_sidebar", + "target": "dashboard_sidebar_sidebarprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L12", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricslider", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricsliderprops", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/RubricSlider.tsx", + "source_location": "L106", + "weight": 1.0, + "source": "judge_rubricslider", + "target": "judge_rubricslider_rubricsliderstyles", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L172", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_viewmapbutton", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zone_maps", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L25", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zonemapmodal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/judge/ZoneMapModal.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "judge_zonemapmodal", + "target": "judge_zonemapmodal_zonemapmodalprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_memberform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_memberform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_memberform_member", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_memberform_memberform", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MemberForm.tsx", + "source_location": "L5", + "weight": 1.0, + "source": "profile_memberform", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L13", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_memberdata", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L19", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_membershipcard", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/MembershipCard.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_membershipcard", + "target": "profile_membershipcard_memberstatus", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_profileform", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L4", + "weight": 1.0, + "source": "profile_profileform", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L20", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_profileform_profileform", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L8", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_profileform_profileformprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/ProfileForm.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_profileform", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L14", + "weight": 1.0, + "source": "profile_skillsinterestsinput", + "target": "profile_skillsinterestsinput_skillsinterestsinput", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "profile_skillsinterestsinput", + "target": "profile_skillsinterestsinput_skillsinterestsinputprops", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/eslint.config.js", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_eslint_config", + "target": "eslint_react", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L9", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc_provider_trpcreactprovider", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc-provider.tsx", + "source_location": "L7", + "weight": 1.0, + "source": "lib_trpc_provider", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/trpc.tsx", + "source_location": "L6", + "weight": 1.0, + "source": "lib_trpc", + "target": "lib_trpc_trpc", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L5", + "weight": 1.0, + "source": "lib_use_judging_stream", + "target": "lib_use_judging_stream_judgingsnapshot", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/lib/use-judging-stream.ts", + "source_location": "L23", + "weight": 1.0, + "source": "lib_use_judging_stream", + "target": "lib_use_judging_stream_usejudgingstream", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_dirname", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_filename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/next.config.mjs", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_next_config", + "target": "mainweb_next_config_nextconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L44", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_package", + "target": "mainweb_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_analyze", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_check_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "mainweb_package_scripts", + "target": "mainweb_package_scripts_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_chart_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_drizzle_orm", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_geist", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_lucide_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_mawtech_glass_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L33", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_next_themes", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_qrcode", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_qrcode_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_api", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_auth", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_db", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_query_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_chartjs_2", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_react_scroll", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_sanitize_html", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L41", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_stripe", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_superjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_tanstack_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_client", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_react_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_trpc_server", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "mainweb_package_dependencies", + "target": "mainweb_package_dependencies_yudiel_react_qr_scanner", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L59", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_autoprefixer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L60", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_cross_env", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L61", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L45", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_next_bundle_analyzer", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L46", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L62", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L47", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_eslint_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L48", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_tailwind_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L49", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L63", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L50", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L51", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L52", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_node", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L53", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_qrcode", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L54", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_qrcode_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L55", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L56", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L57", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_react_scroll", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L58", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_types_three", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L65", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L66", + "weight": 1.0, + "source": "mainweb_package_devdependencies", + "target": "mainweb_package_devdependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/package.json", + "source_location": "L64", + "weight": 1.0, + "context": "import", + "source": "mainweb_package_devdependencies_turbo", + "target": "turbo", + "confidence_score": 1.0 + }, + { + "relation": "re_exports", + "context": "export", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_postcss_config", + "target": "tailwind_postcss_config", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/postcss.config.js", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_postcss_config", + "target": "tailwind_postcss_config_postcssconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L82", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L42", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L48", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L53", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L64", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L90", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_proxy", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L75", + "weight": 1.0, + "source": "mainweb_proxy", + "target": "mainweb_proxy_securityheaders", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L134", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getcachecontrol", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L55", + "weight": 1.0, + "source": "mainweb_proxy_handleetag", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L97", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L66", + "weight": 1.0, + "source": "mainweb_proxy_handlelastmodified", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L98", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_getlastmodified", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L92", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_handleetag", + "confidence_score": 1.0 + }, + { + "relation": "calls", + "context": "call", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/proxy.ts", + "source_location": "L113", + "weight": 1.0, + "source": "mainweb_proxy_proxy", + "target": "mainweb_proxy_handlelastmodified", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L29", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_background_color", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L27", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_display", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L4", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_icons", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L3", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L2", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_short_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L26", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_start_url", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/public/manifest.json", + "source_location": "L28", + "weight": 1.0, + "source": "public_manifest", + "target": "public_manifest_theme_color", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/start.sh", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_start", + "target": "c_users_bootcamp_desktop_passion_query_sites_mainweb_start_sh__entry", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L34", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L26", + "weight": 1.0, + "source": "mainweb_tsconfig", + "target": "mainweb_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L14", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_jsx", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L16", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L20", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_plugins", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L13", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L19", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions", + "target": "mainweb_tsconfig_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/tsconfig.json", + "source_location": "L17", + "weight": 1.0, + "source": "mainweb_tsconfig_compileroptions_paths", + "target": "mainweb_tsconfig_paths", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "mainweb_turbo", + "target": "mainweb_turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "mainweb_turbo_tasks", + "target": "mainweb_turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "mainweb_turbo_tasks", + "target": "mainweb_turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "mainweb_turbo_tasks_build", + "target": "mainweb_turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L12", + "weight": 1.0, + "source": "mainweb_turbo_tasks_dev", + "target": "mainweb_turbo_dev_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "mainweb_turbo_tasks_dev", + "target": "mainweb_turbo_dev_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/base.js", + "source_location": "L37", + "weight": 1.0, + "source": "eslint_base", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/base.js", + "source_location": "L9", + "weight": 1.0, + "source": "eslint_base", + "target": "eslint_base_restrictenvaccess", + "confidence_score": 1.0 + }, + { + "relation": "imports_from", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_base", + "confidence_score": 1.0 + }, + { + "relation": "imports", + "context": "import", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_base_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L34", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L42", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "eslint_package", + "target": "eslint_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L7", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_base", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_next_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "eslint_package_exports", + "target": "eslint_package_exports_react_internal", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_format_fix", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "eslint_package_scripts", + "target": "eslint_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_compat", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L24", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_config_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_import", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L26", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_jsx_a11y", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L27", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L28", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_react_hooks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L29", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_eslint_plugin_turbo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L30", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_globals", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L31", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L32", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint_eslint_plugin", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "eslint_package_dependencies", + "target": "eslint_package_dependencies_typescript_eslint_parser", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L38", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_eslint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L39", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L35", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_query_prettier_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L36", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L37", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_types_eslint_js", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/package.json", + "source_location": "L40", + "weight": 1.0, + "source": "eslint_package_devdependencies", + "target": "eslint_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/react-internal.js", + "source_location": "L13", + "weight": 1.0, + "source": "eslint_react_internal", + "target": "eslint_react_internal_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/index.js", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_index", + "target": "prettier_index_config", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L25", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_scripts", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "prettier_package", + "target": "prettier_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_format_fix", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "prettier_package_scripts", + "target": "prettier_package_scripts_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_ianvs_prettier_plugin_sort_imports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L18", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_prettier", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "prettier_package_dependencies", + "target": "prettier_package_dependencies_prettier_plugin_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L22", + "weight": 1.0, + "source": "prettier_package_devdependencies", + "target": "prettier_package_devdependencies_query_tsconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/package.json", + "source_location": "L23", + "weight": 1.0, + "source": "prettier_package_devdependencies", + "target": "prettier_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L5", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L4", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L2", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L3", + "weight": 1.0, + "source": "prettier_tsconfig", + "target": "prettier_tsconfig_include", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L8", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L7", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_forceconsistentcasinginfilenames", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L9", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L10", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/prettier/tsconfig.json", + "source_location": "L6", + "weight": 1.0, + "source": "prettier_tsconfig_compileroptions", + "target": "prettier_tsconfig_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L10", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L19", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_devdependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L6", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_type", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "tailwind_package", + "target": "tailwind_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "tailwind_package_exports", + "target": "tailwind_package_exports_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L14", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L15", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_react", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L16", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_react_dom", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L17", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_tailwindcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L11", + "weight": 1.0, + "source": "tailwind_package_dependencies", + "target": "tailwind_package_dependencies_tailwindcss_postcss", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L20", + "weight": 1.0, + "source": "tailwind_package_devdependencies", + "target": "tailwind_package_devdependencies_next_eslint_plugin_next", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/package.json", + "source_location": "L21", + "weight": 1.0, + "source": "tailwind_package_devdependencies", + "target": "tailwind_package_devdependencies_typescript", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/tailwind/postcss.config.js", + "source_location": "L2", + "weight": 1.0, + "source": "tailwind_postcss_config", + "target": "tailwind_postcss_config_postcssconfig", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L23", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_exclude", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_base", + "target": "typescript_base_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_allowjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L18", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_checkjs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L13", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_disablesourceofprojectreferenceredirect", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_esmoduleinterop", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L12", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_incremental", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L11", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_isolatedmodules", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L7", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_lib", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L19", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_module", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L10", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_moduledetection", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L20", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_moduleresolution", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L21", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L16", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_noimplicitany", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L17", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_nouncheckedindexedaccess", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L9", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_resolvejsonmodule", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_skiplibcheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L15", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_strict", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L6", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_target", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/base.json", + "source_location": "L14", + "weight": 1.0, + "source": "typescript_base_compileroptions", + "target": "typescript_base_compileroptions_tsbuildinfofile", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_internal_package", + "target": "typescript_internal_package_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_declaration", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L6", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_declarationmap", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L7", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_emitdeclarationonly", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_noemit", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/internal-package.json", + "source_location": "L9", + "weight": 1.0, + "source": "typescript_internal_package_compileroptions", + "target": "typescript_internal_package_compileroptions_outdir", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_compileroptions", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_extends", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_nextjs", + "target": "typescript_nextjs_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/nextjs.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_nextjs_compileroptions", + "target": "typescript_nextjs_compileroptions_types", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L12", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_dependencies", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L8", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_exports", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L5", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_files", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L2", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_name", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L3", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_private", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L4", + "weight": 1.0, + "source": "typescript_package", + "target": "typescript_package_version", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/typescript/package.json", + "source_location": "L13", + "weight": 1.0, + "source": "typescript_package_dependencies", + "target": "typescript_package_dependencies_minimatch", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L55", + "weight": 1.0, + "source": "turbo", + "target": "turbo_globalenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L88", + "weight": 1.0, + "source": "turbo", + "target": "turbo_globalpassthroughenv", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L2", + "weight": 1.0, + "source": "turbo", + "target": "turbo_schema", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L4", + "weight": 1.0, + "source": "turbo", + "target": "turbo_tasks", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L3", + "weight": 1.0, + "source": "turbo", + "target": "turbo_ui", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L13", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_build", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L39", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_clean", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L22", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_dev", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L27", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_format", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L31", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_lint", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L42", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_push", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L17", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_start", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L46", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_studio", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L5", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_test", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L10", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_topo", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L35", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_typecheck", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L50", + "weight": 1.0, + "source": "turbo_tasks", + "target": "turbo_tasks_ui_add", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L6", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L8", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_inputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L7", + "weight": 1.0, + "source": "turbo_tasks_test", + "target": "turbo_test_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L11", + "weight": 1.0, + "source": "turbo_tasks_topo", + "target": "turbo_topo_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L14", + "weight": 1.0, + "source": "turbo_tasks_build", + "target": "turbo_build_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L15", + "weight": 1.0, + "source": "turbo_tasks_build", + "target": "turbo_build_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L19", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L18", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L20", + "weight": 1.0, + "source": "turbo_tasks_start", + "target": "turbo_start_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L24", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L23", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L25", + "weight": 1.0, + "source": "turbo_tasks_dev", + "target": "turbo_dev_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L29", + "weight": 1.0, + "source": "turbo_tasks_format", + "target": "turbo_format_outputlogs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L28", + "weight": 1.0, + "source": "turbo_tasks_format", + "target": "turbo_format_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L32", + "weight": 1.0, + "source": "turbo_tasks_lint", + "target": "turbo_lint_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L33", + "weight": 1.0, + "source": "turbo_tasks_lint", + "target": "turbo_lint_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L36", + "weight": 1.0, + "source": "turbo_tasks_typecheck", + "target": "turbo_typecheck_dependson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L37", + "weight": 1.0, + "source": "turbo_tasks_typecheck", + "target": "turbo_typecheck_outputs", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L40", + "weight": 1.0, + "source": "turbo_tasks_clean", + "target": "turbo_clean_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L43", + "weight": 1.0, + "source": "turbo_tasks_push", + "target": "turbo_push_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L44", + "weight": 1.0, + "source": "turbo_tasks_push", + "target": "turbo_push_interactive", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L47", + "weight": 1.0, + "source": "turbo_tasks_studio", + "target": "turbo_studio_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L48", + "weight": 1.0, + "source": "turbo_tasks_studio", + "target": "turbo_studio_persistent", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L51", + "weight": 1.0, + "source": "turbo_tasks_ui_add", + "target": "turbo_ui_add_cache", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo.json", + "source_location": "L52", + "weight": 1.0, + "source": "turbo_tasks_ui_add", + "target": "turbo_ui_add_interactive", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L4", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_answers", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L19", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_latestversion", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L9", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_pkgjson", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L27", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_register", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "turbo/generators/config.ts", + "source_location": "L14", + "weight": 1.0, + "source": "generators_config", + "target": "generators_config_sanitizename", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L1", + "weight": 1.0, + "source": "gcp_setup", + "target": "gcp_setup_gcp_backend_setup_guide", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L5", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_1_prerequisites", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L12", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_2_authentication", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L32", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_3_syncing_secrets", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L49", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_4_running_the_app", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L57", + "weight": 1.0, + "source": "gcp_setup_gcp_backend_setup_guide", + "target": "gcp_setup_5_troubleshooting", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L67", + "weight": 1.0, + "source": "gcp_setup_5_troubleshooting", + "target": "gcp_setup_missing_secrets", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "GCP_SETUP.md", + "source_location": "L59", + "weight": 1.0, + "source": "gcp_setup_5_troubleshooting", + "target": "gcp_setup_permission_denied", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "README.md", + "source_location": "L1", + "weight": 1.0, + "source": "readme", + "target": "readme_query", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L32", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_deploy_on_vercel", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L3", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_getting_started", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/hacklytics2027/README.md", + "source_location": "L23", + "weight": 1.0, + "source": "hacklytics2027_readme", + "target": "hacklytics2027_readme_learn_more", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L24", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_deploy_on_vercel", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L1", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_getting_started", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "sites/mainweb/README.md", + "source_location": "L15", + "weight": 1.0, + "source": "mainweb_readme", + "target": "mainweb_readme_learn_more", + "confidence_score": 1.0 + }, + { + "relation": "contains", + "confidence": "EXTRACTED", + "source_file": "tooling/eslint/README.md", + "source_location": "L1", + "weight": 1.0, + "source": "eslint_readme", + "target": "eslint_readme_turbo_eslint_config", + "confidence_score": 1.0 + } + ], + "hyperedges": [], + "built_at_commit": "1e412bdb868bd5c2c860af63fcc6f1c6b055315d" +} \ No newline at end of file diff --git a/graphify-out/manifest.json b/graphify-out/manifest.json new file mode 100644 index 00000000..7bf2ef2e --- /dev/null +++ b/graphify-out/manifest.json @@ -0,0 +1,2422 @@ +{ + ".vscode/settings.json": { + "mtime": 1781118719.0603423, + "ast_hash": "e4167df15aa6d0a119c44c982d08097a", + "semantic_hash": "" + }, + "firebase.json": { + "mtime": 1781118719.4218533, + "ast_hash": "9d3ee6507fb3a39306206b68995ad9ef", + "semantic_hash": "" + }, + "package.json": { + "mtime": 1781096186.894565, + "ast_hash": "d1f2e8a5d2daff04399d152e6900de90", + "semantic_hash": "" + }, + "packages/api/eslint.config.js": { + "mtime": 1781118721.0804987, + "ast_hash": "147786a895513ee55b3b1b38b007e8a8", + "semantic_hash": "" + }, + "packages/api/eslint.config.mjs": { + "mtime": 1781096720.648419, + "ast_hash": "cba1b01ea7b00ddf8e79deffa6896557", + "semantic_hash": "" + }, + "packages/api/package.json": { + "mtime": 1781118721.2501206, + "ast_hash": "7a42cc32f0c18d8428ed8e96fa744928", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/resilience.test.ts": { + "mtime": 1781118721.886031, + "ast_hash": "249030135b6a850a53657c54b377b02a", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/routers.test.ts": { + "mtime": 1781118722.60358, + "ast_hash": "11ba4d1cb0c650bba8429138bd24c204", + "semantic_hash": "" + }, + "packages/api/src/.internal-tests/security.test.ts": { + "mtime": 1781118722.7857535, + "ast_hash": "1b4c20da93ee2ec6035b8387dec1c5e8", + "semantic_hash": "" + }, + "packages/api/src/context.ts": { + "mtime": 1781118722.87788, + "ast_hash": "cdbc218f021e0011c09e1ea69d7d4bac", + "semantic_hash": "" + }, + "packages/api/src/index.ts": { + "mtime": 1781118722.9365253, + "ast_hash": "45e5e1df8ddfc7fd16e7c06b97f84a69", + "semantic_hash": "" + }, + "packages/api/src/middleware/cache.ts": { + "mtime": 1781118723.124732, + "ast_hash": "9248e33ed56dec1cc7460d682c8ab748", + "semantic_hash": "" + }, + "packages/api/src/middleware/http-security.ts": { + "mtime": 1781118723.2187831, + "ast_hash": "1e2dcf3128aac3c6663d18e3a320c605", + "semantic_hash": "" + }, + "packages/api/src/middleware/procedures.ts": { + "mtime": 1781118723.323068, + "ast_hash": "dc6658549d293876bf846258aa0c9995", + "semantic_hash": "" + }, + "packages/api/src/middleware/security.ts": { + "mtime": 1781118723.6546035, + "ast_hash": "af2a6f70aaf7572dc77656ef94e849c5", + "semantic_hash": "" + }, + "packages/api/src/root.ts": { + "mtime": 1781118723.7314925, + "ast_hash": "afac884bdf4de46db69aa4a92f9a8d16", + "semantic_hash": "" + }, + "packages/api/src/routers/admin.ts": { + "mtime": 1781118723.9211204, + "ast_hash": "b40728caa69990021e99114028a006fd", + "semantic_hash": "" + }, + "packages/api/src/routers/audit.ts": { + "mtime": 1781118724.0752583, + "ast_hash": "e7b4082212d48daa77273840dd2c2ab5", + "semantic_hash": "" + }, + "packages/api/src/routers/events.ts": { + "mtime": 1781118724.4065478, + "ast_hash": "da8104ba51eac9fef8e4fbe24223d230", + "semantic_hash": "" + }, + "packages/api/src/routers/hackathon.ts": { + "mtime": 1781120608.0521638, + "ast_hash": "4c3853f1b5347d692105eaa256fc7510", + "semantic_hash": "" + }, + "packages/api/src/routers/hello-procedures.ts": { + "mtime": 1781118725.009419, + "ast_hash": "977e30bf94e712a3ec62948f9cd3b882", + "semantic_hash": "" + }, + "packages/api/src/routers/hello.ts": { + "mtime": 1781118725.057955, + "ast_hash": "4470e5a6353e588abc870fdc9ea9133a", + "semantic_hash": "" + }, + "packages/api/src/routers/judge.ts": { + "mtime": 1781118726.0503829, + "ast_hash": "90c9cf24519dd39686ec7fa092dd2ff6", + "semantic_hash": "" + }, + "packages/api/src/routers/member.ts": { + "mtime": 1781118726.549009, + "ast_hash": "a9c28597f8b9f83afb318aba5d06b15c", + "semantic_hash": "" + }, + "packages/api/src/routers/settings.ts": { + "mtime": 1781118726.634659, + "ast_hash": "1a32a86b47de5694307fcbb4430f57db", + "semantic_hash": "" + }, + "packages/api/src/routers/stripe.ts": { + "mtime": 1781118726.8333833, + "ast_hash": "e997a66b91b2bd7676b3fa504b00a2ae", + "semantic_hash": "" + }, + "packages/api/src/routers/team.ts": { + "mtime": 1781119238.427595, + "ast_hash": "2fb18d884bcb340f97df06b8ee9ebdc1", + "semantic_hash": "" + }, + "packages/api/src/routers/user.ts": { + "mtime": 1781118727.2017896, + "ast_hash": "7053fa686a65c6f9cefa210c34fbc8de", + "semantic_hash": "" + }, + "packages/api/src/trpc.ts": { + "mtime": 1781118727.3318667, + "ast_hash": "e3e54e76a47768fb69f3932b09ac880b", + "semantic_hash": "" + }, + "packages/api/tsconfig.json": { + "mtime": 1781118727.4033177, + "ast_hash": "9af23988829befab2211ea1f8e2b17b2", + "semantic_hash": "" + }, + "packages/api/vitest.config.ts": { + "mtime": 1781118727.5010786, + "ast_hash": "2e04e94f50067ee3e46c33355597b6ad", + "semantic_hash": "" + }, + "packages/auth/eslint.config.mjs": { + "mtime": 1778089374.0293522, + "ast_hash": "9f257b721cd2cc173639384256088e74", + "semantic_hash": "" + }, + "packages/auth/package.json": { + "mtime": 1781120603.1166303, + "ast_hash": "eb04412bf1ae6a9544db35743f711a39", + "semantic_hash": "" + }, + "packages/auth/src/adapter.ts": { + "mtime": 1781118728.2598667, + "ast_hash": "3ae5f77ad2f65d2f55dd904b6dd485bc", + "semantic_hash": "" + }, + "packages/auth/src/auth.ts": { + "mtime": 1781118728.382054, + "ast_hash": "e03102cdeacc14ce932e111d617b1ddd", + "semantic_hash": "" + }, + "packages/auth/src/config.ts": { + "mtime": 1781118728.5202343, + "ast_hash": "7ca9e9887dd6835bcc11106262b6fc4b", + "semantic_hash": "" + }, + "packages/auth/src/email.ts": { + "mtime": 1781120626.5710144, + "ast_hash": "d1b0c2e91d1f4915b6f717db4bdd8d46", + "semantic_hash": "" + }, + "packages/auth/src/index.ts": { + "mtime": 1781120521.3147876, + "ast_hash": "a02637e01cd5522cedce72679c98a3ff", + "semantic_hash": "" + }, + "packages/auth/src/utils.ts": { + "mtime": 1781118728.6573014, + "ast_hash": "241fe3d7d3575aa3cedd71ba92a77593", + "semantic_hash": "" + }, + "packages/auth/tsconfig.json": { + "mtime": 1781118728.7412455, + "ast_hash": "e3c71a75307e0bc194d3c2f775b552f5", + "semantic_hash": "" + }, + "packages/consts/index.ts": { + "mtime": 1781118729.1464806, + "ast_hash": "43a9b518a552ea0160b15b6e8b521151", + "semantic_hash": "" + }, + "packages/consts/package.json": { + "mtime": 1781118729.3987746, + "ast_hash": "c02ca83753b77a278b10e11888d79a90", + "semantic_hash": "" + }, + "packages/db/drizzle.config.ts": { + "mtime": 1781118730.4541857, + "ast_hash": "973140a20f89d4d505167fc5e8a62298", + "semantic_hash": "" + }, + "packages/db/drizzle/meta/_journal.json": { + "mtime": 1781118730.8214035, + "ast_hash": "b0268703072f82f6b2151845cd2dfdd6", + "semantic_hash": "" + }, + "packages/db/eslint.config.mjs": { + "mtime": 1778089374.0333643, + "ast_hash": "9f257b721cd2cc173639384256088e74", + "semantic_hash": "" + }, + "packages/db/package.json": { + "mtime": 1781096197.3223066, + "ast_hash": "9c4f0bfea7d5c3f5ebc36c098effd98f", + "semantic_hash": "" + }, + "packages/db/scripts/seed.ts": { + "mtime": 1781119942.1366546, + "ast_hash": "5566560cbc090412736f3d2309a37c33", + "semantic_hash": "" + }, + "packages/db/src/client.ts": { + "mtime": 1781118731.199497, + "ast_hash": "c5f995c09bba7774a45fcd8bccdf677c", + "semantic_hash": "" + }, + "packages/db/src/env.ts": { + "mtime": 1781118731.2919896, + "ast_hash": "dbfc24698da3de758fdc790a7e7a37f1", + "semantic_hash": "" + }, + "packages/db/src/index.ts": { + "mtime": 1781118731.4343045, + "ast_hash": "6e30d7801182b1c92e42297daf24d33b", + "semantic_hash": "" + }, + "packages/db/src/schemas/admins.ts": { + "mtime": 1781118731.5473735, + "ast_hash": "0eb3990f6b72bc3e0f047830d062eedc", + "semantic_hash": "" + }, + "packages/db/src/schemas/auth.ts": { + "mtime": 1781118731.755614, + "ast_hash": "359dfb27398d3234236812a0d5f8171f", + "semantic_hash": "" + }, + "packages/db/src/schemas/events.ts": { + "mtime": 1781118731.834907, + "ast_hash": "a145b013c737dc88eafbaf5ac6243d51", + "semantic_hash": "" + }, + "packages/db/src/schemas/hackathons.ts": { + "mtime": 1781118732.1834066, + "ast_hash": "9e1e84514a43dc522aea33de23e655f2", + "semantic_hash": "" + }, + "packages/db/src/schemas/index.ts": { + "mtime": 1781118732.2564309, + "ast_hash": "7c51c427c26224bf4b615ae69493cc86", + "semantic_hash": "" + }, + "packages/db/src/schemas/judge.ts": { + "mtime": 1781118732.437285, + "ast_hash": "5be3dadc99d0624a3349a42eba7eacaa", + "semantic_hash": "" + }, + "packages/db/src/schemas/members.ts": { + "mtime": 1781118732.6257443, + "ast_hash": "29d998bd82b8d804e9c37787af930f5a", + "semantic_hash": "" + }, + "packages/db/src/schemas/security.ts": { + "mtime": 1781118732.7632737, + "ast_hash": "7b83257726bf33ed6fa9e1101a8fbef1", + "semantic_hash": "" + }, + "packages/db/src/schemas/settings.ts": { + "mtime": 1781118732.8546524, + "ast_hash": "64405984799fa5c9fe5870ade74cdb59", + "semantic_hash": "" + }, + "packages/db/src/schemas/stripe.ts": { + "mtime": 1781118733.0061114, + "ast_hash": "5dae16b5681015826172d5432b82ab7b", + "semantic_hash": "" + }, + "packages/db/tsconfig.json": { + "mtime": 1781118733.0356817, + "ast_hash": "01fb19dcfa7f71f786bb7bfa9ce2b697", + "semantic_hash": "" + }, + "packages/ui/eslint.config.mjs": { + "mtime": 1767556148.7485065, + "ast_hash": "0e30d5165c73976078c5b756418fbcdc", + "semantic_hash": "" + }, + "packages/ui/package.json": { + "mtime": 1781118733.2005706, + "ast_hash": "ac389efa5cee19431f14f6d1a6cd74e5", + "semantic_hash": "" + }, + "packages/ui/src/card.jsx": { + "mtime": 1781118733.358493, + "ast_hash": "e1351765bfdc1ebf431e44fa7226fd13", + "semantic_hash": "" + }, + "packages/ui/src/card.tsx": { + "mtime": 1781118733.4158466, + "ast_hash": "09bd7c142ddff5e61cd40643bb3bd6f4", + "semantic_hash": "" + }, + "packages/ui/src/glass.tsx": { + "mtime": 1781118733.4703636, + "ast_hash": "f18b6da020baa7b22977f7547adc1364", + "semantic_hash": "" + }, + "packages/ui/src/gradient.jsx": { + "mtime": 1781118733.5322814, + "ast_hash": "ea6d743966677c188fae22fba2393221", + "semantic_hash": "" + }, + "packages/ui/src/gradient.tsx": { + "mtime": 1781118733.5758345, + "ast_hash": "d4af9b82eaf722062a4f3981551872a0", + "semantic_hash": "" + }, + "packages/ui/src/index.ts": { + "mtime": 1781118733.6140094, + "ast_hash": "4913f98105cc2b625e95795492881732", + "semantic_hash": "" + }, + "packages/ui/src/turborepo-logo.jsx": { + "mtime": 1781118733.8748188, + "ast_hash": "865d2d06f11503b7d89fcbb39dd2ac0e", + "semantic_hash": "" + }, + "packages/ui/src/turborepo-logo.tsx": { + "mtime": 1781118733.9113314, + "ast_hash": "e479c51ec2622ee8ec01fcbfd5f438f5", + "semantic_hash": "" + }, + "packages/ui/tsconfig.json": { + "mtime": 1781118734.0339148, + "ast_hash": "7a18be5bbda1dfbf530c7de6cfc0ccd7", + "semantic_hash": "" + }, + "packages/ui/turbo.json": { + "mtime": 1767556149.008703, + "ast_hash": "8286f81c9c953568c4c1a17712d0ba45", + "semantic_hash": "" + }, + "restore-workspace.js": { + "mtime": 1781118741.3081589, + "ast_hash": "2c9499f4672b81d46dd98eceaea9e6cc", + "semantic_hash": "" + }, + "sites/discordBot/nodemon.json": { + "mtime": 1781118741.7825673, + "ast_hash": "b8a15745da27128f0383a208cae7bc15", + "semantic_hash": "" + }, + "sites/discordBot/package.json": { + "mtime": 1781118741.9150116, + "ast_hash": "f2aa3a5397b2a533a14675df85d29037", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/ask.ts": { + "mtime": 1781118742.3882718, + "ast_hash": "9fbaad91af74b9569bfbf74871d062b8", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/clear.ts": { + "mtime": 1781118742.5420961, + "ast_hash": "88e00b1b18832238b2b89576635e2458", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/guide.ts": { + "mtime": 1781118742.6642835, + "ast_hash": "5b006fb557f3b0aeac5e5e75b5a95307", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/meow.ts": { + "mtime": 1781118742.75579, + "ast_hash": "a43e8ee7f1930e038e8b0cf54e73d516", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/ping.ts": { + "mtime": 1781118742.772045, + "ast_hash": "707ce90e575b92467a3145c99bf26e81", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/roles.ts": { + "mtime": 1781118742.838261, + "ast_hash": "76563836e3a8a7377cfe23973ce6aa4a", + "semantic_hash": "" + }, + "sites/discordBot/src/commands/startEvent.ts": { + "mtime": 1781118743.030911, + "ast_hash": "3097b378a54f6d3f4467de2b65095e68", + "semantic_hash": "" + }, + "sites/discordBot/src/deploy-commands.ts": { + "mtime": 1781118743.105525, + "ast_hash": "70f9624fad023e19bb13f0139baf4e58", + "semantic_hash": "" + }, + "sites/discordBot/src/env.ts": { + "mtime": 1781118743.167965, + "ast_hash": "a99aa36c801349cb0db81630bb2fdcd4", + "semantic_hash": "" + }, + "sites/discordBot/src/index.ts": { + "mtime": 1781118743.4731069, + "ast_hash": "45dc6b1831facde0c454fb51d8aaa08f", + "semantic_hash": "" + }, + "sites/discordBot/src/notion.ts": { + "mtime": 1781118743.6415195, + "ast_hash": "26ba6adac4fabc825224a374fbd097f4", + "semantic_hash": "" + }, + "sites/discordBot/src/tests/testAsk.ts": { + "mtime": 1781118743.8879378, + "ast_hash": "8b072d497c0c80b2fb296efc75a97ffa", + "semantic_hash": "" + }, + "sites/discordBot/start.sh": { + "mtime": 1766417145.4592197, + "ast_hash": "436be6219e3e49d8fff7cc2996c886c1", + "semantic_hash": "" + }, + "sites/discordBot/startup.sh": { + "mtime": 1772843441.835689, + "ast_hash": "c38669a3c8c4a478d3d15491395d7d46", + "semantic_hash": "" + }, + "sites/discordBot/tsconfig.json": { + "mtime": 1781118744.0705001, + "ast_hash": "3f18d9985121a2b5af4d976aa96d7bb1", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/CodeOfConductFooter.tsx": { + "mtime": 1781118744.7408142, + "ast_hash": "560549449591ab53b6edf7a8ffd3127c", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/layout.tsx": { + "mtime": 1781306370.7527988, + "ast_hash": "339e82a1114f8ee00faf93143e5ef834", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/not-found.tsx": { + "mtime": 1781118745.1661654, + "ast_hash": "6fbcb2b65a2e9c2d425869270b924c08", + "semantic_hash": "" + }, + "sites/hacklytics2027/app/page.tsx": { + "mtime": 1781306363.3511128, + "ast_hash": "769dc3f03bb31d2b76c625d73e113437", + "semantic_hash": "" + }, + "sites/hacklytics2027/components.json": { + "mtime": 1781118745.566208, + "ast_hash": "cad2943d34f8271d9b6e3fa21f89be44", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/FloatingFlowers.tsx": { + "mtime": 1781118745.822007, + "ast_hash": "dd82963f35543e38c09f00e3995ef44d", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/Footer.tsx": { + "mtime": 1781305365.8846273, + "ast_hash": "0c28a22d40e2707b240cd4808d0de412", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/HomeSections.tsx": { + "mtime": 1781118745.876015, + "ast_hash": "c98938b79a40382b202b38b061a7287f", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/LazySection.tsx": { + "mtime": 1781118745.939768, + "ast_hash": "c1c09854610cc35b35d01eac97103406", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/Navbar.tsx": { + "mtime": 1781118746.0263083, + "ast_hash": "ae80d3bfbb9e727a57c8329323e510e1", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/ServiceWorkerRegistrar.tsx": { + "mtime": 1781118746.934157, + "ast_hash": "5ba3cb474a601ff4adf888b841d1c0e3", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/AboutSection.tsx": { + "mtime": 1781118746.1188536, + "ast_hash": "e1a4ed941472c6a4d2e4db5d973ae502", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/FAQSection.tsx": { + "mtime": 1781306334.75944, + "ast_hash": "b4446ead2d5cf7b771d4b806f1ce7df8", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/PrizeAndSpeakerSection.tsx": { + "mtime": 1781118746.356961, + "ast_hash": "97f7768a4cd6268e6b2bc0b0c7e8c991", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Schedule/Schedule.tsx": { + "mtime": 1781118746.7067964, + "ast_hash": "844304e8e2c899c5b8d685b129a2035e", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Schedule/data.ts": { + "mtime": 1781118746.639664, + "ast_hash": "77e23b3b0930d643bdf6331fd5addcd2", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/Sponsor.tsx": { + "mtime": 1781118746.7796032, + "ast_hash": "5384685923f1373344fa6a0d1140c970", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/sections/TracksSection.tsx": { + "mtime": 1781118746.8822148, + "ast_hash": "20949289707d38e6bad1bc956399bd2e", + "semantic_hash": "" + }, + "sites/hacklytics2027/components/ui/button.tsx": { + "mtime": 1781118746.9933405, + "ast_hash": "6609f34cc79bb85cac92b14cbb559f47", + "semantic_hash": "" + }, + "sites/hacklytics2027/eslint.config.mjs": { + "mtime": 1781118747.016482, + "ast_hash": "af6bed8b88e7625b26fa78f0a6681fd9", + "semantic_hash": "" + }, + "sites/hacklytics2027/lib/utils.ts": { + "mtime": 1781118747.0405128, + "ast_hash": "860093c628243861a278a805636f6c7f", + "semantic_hash": "" + }, + "sites/hacklytics2027/next-env.d.ts": { + "mtime": 1781098133.236631, + "ast_hash": "b698cdd97fe8e3bd16dcd74899ad7cef", + "semantic_hash": "" + }, + "sites/hacklytics2027/next.config.ts": { + "mtime": 1781118747.0866055, + "ast_hash": "44d7b2ccbf4e37e75699c601674d350a", + "semantic_hash": "" + }, + "sites/hacklytics2027/package.json": { + "mtime": 1781096211.229583, + "ast_hash": "1d534a2270c96b786891da5168eb9022", + "semantic_hash": "" + }, + "sites/hacklytics2027/playwright.config.ts": { + "mtime": 1781118757.5507224, + "ast_hash": "648dff70cb9c8ebe3f5e7e7fbc65a593", + "semantic_hash": "" + }, + "sites/hacklytics2027/postcss.config.mjs": { + "mtime": 1767899850.523357, + "ast_hash": "675899342e765a4d16acd75a53389101", + "semantic_hash": "" + }, + "sites/hacklytics2027/proxy.ts": { + "mtime": 1781118758.672136, + "ast_hash": "52fed489856eaeee0b3e1d772ec6da66", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sw.js": { + "mtime": 1781118769.19066, + "ast_hash": "b88f8b63161986527c95b9b4e95d97ef", + "semantic_hash": "" + }, + "sites/hacklytics2027/scripts/capture-vision.js": { + "mtime": 1781118771.1970701, + "ast_hash": "252972b2e7c0335e10e0878e20180602", + "semantic_hash": "" + }, + "sites/hacklytics2027/scripts/capture-vision.ts": { + "mtime": 1781118771.3871539, + "ast_hash": "a918cc680c202667178bd491a190a20c", + "semantic_hash": "" + }, + "sites/hacklytics2027/test-results/.last-run.json": { + "mtime": 1781118771.7630942, + "ast_hash": "abd263702df5ba47279e53ebba8c73a8", + "semantic_hash": "" + }, + "sites/hacklytics2027/tests/frontend.spec.ts": { + "mtime": 1781118772.0443764, + "ast_hash": "1d9c67b635477e104804c4f6c7e66041", + "semantic_hash": "" + }, + "sites/hacklytics2027/tsconfig.json": { + "mtime": 1781118772.1314027, + "ast_hash": "e664c7d5a9dbc6ba0b0beb01a22d11c7", + "semantic_hash": "" + }, + "sites/hacklytics2027/turbo.json": { + "mtime": 1778089409.909707, + "ast_hash": "811f0348d610587d943138e2af67d598", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/analytics/page.tsx": { + "mtime": 1781118775.0315955, + "ast_hash": "fe83241d1079612da9fdd3df3395ce29", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/attendees/page.tsx": { + "mtime": 1781118775.1385827, + "ast_hash": "5b9a289f3736e9b865a816a78f4156c1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/[id]/attendees/page.tsx": { + "mtime": 1781120180.8343234, + "ast_hash": "bc2a3c60d6cc1a482f56f384d17e684b", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/[id]/page.tsx": { + "mtime": 1781118775.2549133, + "ast_hash": "4fa6bc9a279757fd0c39894165b379f7", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/error.tsx": { + "mtime": 1781118775.2857172, + "ast_hash": "815fbabf965e87dbd4729065d1191544", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/loading.tsx": { + "mtime": 1781118775.3010542, + "ast_hash": "754b8bbe38c7d8de95accfab60ec1693", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/hackathons/page.tsx": { + "mtime": 1781118775.3538313, + "ast_hash": "13737833f49825581de4155b69110254", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/judging/page.tsx": { + "mtime": 1781118775.4650445, + "ast_hash": "f241fe66c38619b84394af085f0d1b70", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/layout.tsx": { + "mtime": 1781118775.506858, + "ast_hash": "aaf5014f873b5f951584314b23832078", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/page.tsx": { + "mtime": 1781118775.6462228, + "ast_hash": "d5db4ffba28bae8f82fb2d5bb568faa2", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/projects/page.tsx": { + "mtime": 1781118775.7179458, + "ast_hash": "a4c63b375df3d4b44a6a9b88b6a03292", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/settings/page.tsx": { + "mtime": 1781118775.940232, + "ast_hash": "912f2f5333780cd6c06d4da207210d79", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/admin/setup/page.tsx": { + "mtime": 1781118776.1346436, + "ast_hash": "a99597df89317d8adc1661a3cdf2b93f", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/auth/[...nextauth]/route.ts": { + "mtime": 1781118776.235485, + "ast_hash": "ce80b92db762514e912afba962f28b00", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/auth/verify-email/route.ts": { + "mtime": 1781118776.5306056, + "ast_hash": "8231fbba52546ffd6b40c420c93b9dd7", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/cron/cleanup-audit-logs/route.ts": { + "mtime": 1781118776.6850898, + "ast_hash": "7b52e7e5b838af6e5a869167067545ba", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/judge-stream/[hackathonId]/route.ts": { + "mtime": 1781118776.851249, + "ast_hash": "ece783e213058bc5ac3822712aa64810", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/trpc/[trpc]/route.ts": { + "mtime": 1781118776.951795, + "ast_hash": "5f61182004c2b883b47839b703ad760f", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/api/webhooks/stripe/route.ts": { + "mtime": 1781118777.1158538, + "ast_hash": "91e108a4728eeef1a7627b786f8d6fc3", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/auth/error/page.tsx": { + "mtime": 1781118777.1666708, + "ast_hash": "d229be242f958a8f8b2d9dcc56b43ba9", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/club/page.tsx": { + "mtime": 1781118777.40695, + "ast_hash": "805cbecd5b10df10dee6a64329c73e9b", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/dashboard/page.tsx": { + "mtime": 1781118777.567465, + "ast_hash": "e3b0178afad734331b3584a031a60a60", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/error.tsx": { + "mtime": 1781118777.8617818, + "ast_hash": "53241fc281ea2c2e7c17dfa3900c7018", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/loading.tsx": { + "mtime": 1781118777.9412465, + "ast_hash": "e2a0275565f28c081d6ca97a5ca2ab94", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/page.tsx": { + "mtime": 1781118778.0410845, + "ast_hash": "882e25c1c4c1840a84bc256f444973a3", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/[id]/participants/page.tsx": { + "mtime": 1781118778.1956832, + "ast_hash": "755a432e9bc759086c9527d468939fee", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/error.tsx": { + "mtime": 1781118778.2369623, + "ast_hash": "1d8699d43f594e8e3450c4ce098ddb67", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/loading.tsx": { + "mtime": 1781118778.2586665, + "ast_hash": "86095cd21bddb5bcd899f3922821018e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/hackathons/page.tsx": { + "mtime": 1781118778.494305, + "ast_hash": "cf318bc67d1398e3d53c36e76984583e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/judge/page.tsx": { + "mtime": 1781118778.6754577, + "ast_hash": "5f8508652060a2cdea7b2a0203e72de1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/judge/register/page.tsx": { + "mtime": 1781118778.85492, + "ast_hash": "d70221efb34e9bc88736a36a15e41444", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/layout.tsx": { + "mtime": 1781118778.884202, + "ast_hash": "a673536aa58eea5061f00c5d44847eff", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/login/page.tsx": { + "mtime": 1781118779.079692, + "ast_hash": "bda2aa4b48a459c06360a2a70bdf713e", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/providers.tsx": { + "mtime": 1781118779.1015995, + "ast_hash": "d6840aef4a7ef6711cfbcd3672be4c43", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/error.tsx": { + "mtime": 1781118779.1225467, + "ast_hash": "d6635ffedcdf2ff391aad0b80ac47bc0", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/loading.tsx": { + "mtime": 1781118779.132131, + "ast_hash": "ccac794932d4f9b61cbb3fc2490f2d50", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/submit/page.tsx": { + "mtime": 1781118779.250715, + "ast_hash": "890bea8e090e6a8fa06c9592169e39e1", + "semantic_hash": "" + }, + "sites/mainweb/app/(portal)/verify/page.tsx": { + "mtime": 1781118779.3288574, + "ast_hash": "f2ed6c825562877aa5e37c6416094e9e", + "semantic_hash": "" + }, + "sites/mainweb/app/bootcamp/page.tsx": { + "mtime": 1781118779.3865285, + "ast_hash": "857932ce3303e34a7c35bb1a9e0d90c2", + "semantic_hash": "" + }, + "sites/mainweb/app/docs/DocsPageClient.tsx": { + "mtime": 1781118779.5925362, + "ast_hash": "65facad3d8675d5ce0514efc96d72e17", + "semantic_hash": "" + }, + "sites/mainweb/app/docs/page.tsx": { + "mtime": 1781118779.6078758, + "ast_hash": "4d610d98e187e4270b2478c03bd9a134", + "semantic_hash": "" + }, + "sites/mainweb/app/events/page.tsx": { + "mtime": 1781118779.6585934, + "ast_hash": "55013252d5dea595aca41bf8b298cd54", + "semantic_hash": "" + }, + "sites/mainweb/app/history/page.tsx": { + "mtime": 1781118779.7310264, + "ast_hash": "8cdd247479b4a7ea7c512818439b02a7", + "semantic_hash": "" + }, + "sites/mainweb/app/layout.tsx": { + "mtime": 1781118779.805366, + "ast_hash": "3ec9c9dfce82428aaf328f55aef5a0da", + "semantic_hash": "" + }, + "sites/mainweb/app/not-found.tsx": { + "mtime": 1781118779.8526838, + "ast_hash": "aab0e0268dc9d28c343ebeb1d9b5b539", + "semantic_hash": "" + }, + "sites/mainweb/app/page.tsx": { + "mtime": 1781118779.9876976, + "ast_hash": "b2d99daff457c7426bb2a366fbc67ee5", + "semantic_hash": "" + }, + "sites/mainweb/app/projects/page.tsx": { + "mtime": 1781118780.0609276, + "ast_hash": "e49c6dd13c05c87e2b5d32f2c3f93eda", + "semantic_hash": "" + }, + "sites/mainweb/app/status/page.tsx": { + "mtime": 1781118780.2592652, + "ast_hash": "958e466a4ba5d169aa9698dd1f979527", + "semantic_hash": "" + }, + "sites/mainweb/app/team/page.tsx": { + "mtime": 1781118780.3288765, + "ast_hash": "915f53482157fbf21e81042a4e8d0117", + "semantic_hash": "" + }, + "sites/mainweb/assets/Data/demographics.js": { + "mtime": 1781118780.3760474, + "ast_hash": "9f7a3e8cd0bfa16593a82bb6ae22ad9b", + "semantic_hash": "" + }, + "sites/mainweb/components/Background/index.tsx": { + "mtime": 1781118790.3661854, + "ast_hash": "ae5b57db396c315d11e976f4c9978ca7", + "semantic_hash": "" + }, + "sites/mainweb/components/Card.tsx": { + "mtime": 1781118790.3812292, + "ast_hash": "080596d4a4cbedadf1e7bb25914ad47f", + "semantic_hash": "" + }, + "sites/mainweb/components/EventsList.tsx": { + "mtime": 1781118790.4164574, + "ast_hash": "01f38f2e8952e0da820fde0c594932b5", + "semantic_hash": "" + }, + "sites/mainweb/components/Footer/index.tsx": { + "mtime": 1781118790.4646614, + "ast_hash": "4d8bb87688ecfce5704267ec9e9b8194", + "semantic_hash": "" + }, + "sites/mainweb/components/Hero/index.tsx": { + "mtime": 1781118791.0633285, + "ast_hash": "cbd285c5916549658ada5b8b8dc2a4f7", + "semantic_hash": "" + }, + "sites/mainweb/components/Navbar/index.tsx": { + "mtime": 1781118791.122661, + "ast_hash": "e0d60e80302846c556721334038bc604", + "semantic_hash": "" + }, + "sites/mainweb/components/Section/index.tsx": { + "mtime": 1781118792.2308514, + "ast_hash": "635eccfe77a6984f0b811d1304859a8c", + "semantic_hash": "" + }, + "sites/mainweb/components/SmallHero/index.tsx": { + "mtime": 1781118792.2614417, + "ast_hash": "8a48dd3aea3f405474b8c104d31ebff6", + "semantic_hash": "" + }, + "sites/mainweb/components/TeamCard/index.tsx": { + "mtime": 1781118792.2883465, + "ast_hash": "e1e09c5a93eb3580c99418085d648493", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Major/index.tsx": { + "mtime": 1781118792.3364124, + "ast_hash": "5d4d0c3c12e954779d6d69eaf3938736", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Mini/index.tsx": { + "mtime": 1781118792.3484237, + "ast_hash": "3077181e30c547342e2ebb660367989a", + "semantic_hash": "" + }, + "sites/mainweb/components/Text/Minor/index.tsx": { + "mtime": 1781118792.3690324, + "ast_hash": "eebcb4bb301af76b9f49c31ab5db9945", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/events/EventHeader.tsx": { + "mtime": 1781118788.2349875, + "ast_hash": "dd9441560e4aa97595918dda8bac1e37", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/AnalyticsTab.tsx": { + "mtime": 1781118788.2798333, + "ast_hash": "89bd9479d91877f54ae3c14fcfe3c641", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/AttendeesTab.tsx": { + "mtime": 1781118788.4807897, + "ast_hash": "199ac9bcccd48fee043bd9a188681869", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/CreateHackathonForm.tsx": { + "mtime": 1781118950.6045012, + "ast_hash": "b87a235e457cfcf874885613cce73c41", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/EditHackathonForm.tsx": { + "mtime": 1781118992.0489721, + "ast_hash": "c0f331084e448e8c0c2aeee9d5a6646c", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/EventsTab.tsx": { + "mtime": 1781118788.8186216, + "ast_hash": "edff1471cc6bd4b13bb2bac7aeceea2d", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/HackathonCard.tsx": { + "mtime": 1781118788.9864447, + "ast_hash": "1727ac10da2e626b48cf496decccf94a", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/JudgesTab.tsx": { + "mtime": 1781118789.0984933, + "ast_hash": "4b7664147b4bf962d6895881a6d827ff", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/ScannerTab.tsx": { + "mtime": 1781118789.2608225, + "ast_hash": "e2a4e216e8107c77450116c27a55d14f", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/hackathons/constants.ts": { + "mtime": 1781118808.681486, + "ast_hash": "4b73a0aaa7c74e6d4832e68b225399c3", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/JudgeMatrixView.tsx": { + "mtime": 1781118789.5518773, + "ast_hash": "7885bb63f2df22ca5387d618641fa269", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/JudgingTools.tsx": { + "mtime": 1781118789.680174, + "ast_hash": "14540564040486a71af80697bf67b359", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/RankingsView.tsx": { + "mtime": 1781118789.9905782, + "ast_hash": "692243e95e395a308b167db2393b7dcb", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/judging/RoomAssignmentsView.tsx": { + "mtime": 1781118790.1725817, + "ast_hash": "00eaaf6547cf04843ca88eee69b241e6", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/CreateHackathonStep.tsx": { + "mtime": 1781118790.2325156, + "ast_hash": "add08ad41a8dc63e03f5a564f0a489d5", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/ImportDataStep.tsx": { + "mtime": 1781118790.3153903, + "ast_hash": "5d072dfd4f1a3b3ccb452d7fd7be0cf5", + "semantic_hash": "" + }, + "sites/mainweb/components/admin/setup/SetupWizard.tsx": { + "mtime": 1781118790.3443356, + "ast_hash": "1481300131c8b0e4ce56ab245bc9a30c", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/FormComponents.tsx": { + "mtime": 1781118790.6148663, + "ast_hash": "2b159ce0e628e8e79c664ec2d60ef3b0", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/InfoTab.tsx": { + "mtime": 1781118790.7724135, + "ast_hash": "4e48e0b482821ac4eec8bf5df4736d68", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/ProjectsTab.tsx": { + "mtime": 1781118790.8067455, + "ast_hash": "e3692217195c8ba60b931f9dbc5f6780", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/ScheduleTab.tsx": { + "mtime": 1781118790.9150827, + "ast_hash": "bb294d77f5ef1242610e923b23707d45", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/TeamsTab.tsx": { + "mtime": 1781118791.0363684, + "ast_hash": "d785fb757b1893825a2b0d43affa5c85", + "semantic_hash": "" + }, + "sites/mainweb/components/hackathon/constants.ts": { + "mtime": 1781118790.516959, + "ast_hash": "75afe24bdadde803fd72ca57fb64b849", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/AdminLayout.tsx": { + "mtime": 1781118791.1675985, + "ast_hash": "4cba3e6acfef1b2299995f78793f1d5e", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/EventFormModal.tsx": { + "mtime": 1781118791.3367224, + "ast_hash": "016387c9c77b66173ec71ea10c595dff", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LinkStripeAccount.tsx": { + "mtime": 1781118791.4933105, + "ast_hash": "0d95cf279f162e9e1f4510135d789589", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LiquidGlass.tsx": { + "mtime": 1781118791.5102763, + "ast_hash": "fdf5e3d1fa8e9a58e7506a8c6c0993b1", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/LoadingScreen.tsx": { + "mtime": 1781118791.528521, + "ast_hash": "83e070723f68824c67ff26e1c7f86dd4", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ModalWrapper.tsx": { + "mtime": 1781118791.5475802, + "ast_hash": "843f1ddd7edd7a90d65375ac47f93b09", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/PortalSidebar.tsx": { + "mtime": 1781118791.6610818, + "ast_hash": "f1f1efa0e447715858f225ef1043091b", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/PortalWrapper.tsx": { + "mtime": 1781118791.678489, + "ast_hash": "e0e9c19d1e819123b296458c80bb6570", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ProgressBar.tsx": { + "mtime": 1781118791.836771, + "ast_hash": "73908fb3d5d8bc793900d4bcfefca4d6", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/QRCodeModal.tsx": { + "mtime": 1781118791.9235146, + "ast_hash": "195652e0cdb92aa2da60cd915642650e", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/QRScannerModal.tsx": { + "mtime": 1781118792.01729, + "ast_hash": "e846c8daa0d4f96c80362151acd4e5a2", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/ScanResultModal.tsx": { + "mtime": 1781118792.0789614, + "ast_hash": "0f68f4ee389a5b66f7d19134d5fb8f7f", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/StatusScreen.tsx": { + "mtime": 1781118792.1966217, + "ast_hash": "cd8422abc180989b64b6601d300e366b", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/dashboard/FeatureCard.tsx": { + "mtime": 1781118791.2398465, + "ast_hash": "2739fc6a58db884bbe405f9eaef410a2", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/dashboard/Sidebar.tsx": { + "mtime": 1781118791.287132, + "ast_hash": "4bedc8ebdfaa454f6521115310b0b451", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/judge/RubricSlider.tsx": { + "mtime": 1781118791.3778636, + "ast_hash": "ea445a71fbe42f13c979fb62383eda1d", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/judge/ZoneMapModal.tsx": { + "mtime": 1781118791.4343047, + "ast_hash": "07773e0d954a4eccbc46549a3d8ff3c0", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/MemberForm.tsx": { + "mtime": 1781118791.7161965, + "ast_hash": "3d84c55b0e4035f26db69f589203f163", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/MembershipCard.tsx": { + "mtime": 1781118791.732162, + "ast_hash": "3897e550adc0b3aabfa04da6ced2b580", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/ProfileForm.tsx": { + "mtime": 1781118791.7925985, + "ast_hash": "e2bcd4bc1bfb0d4d4c37e14c01a825d5", + "semantic_hash": "" + }, + "sites/mainweb/components/portal/profile/SkillsInterestsInput.tsx": { + "mtime": 1781118791.8154342, + "ast_hash": "84e0f6aa83fa048815d72755b6b9a728", + "semantic_hash": "" + }, + "sites/mainweb/eslint.config.js": { + "mtime": 1781118792.3834555, + "ast_hash": "9df729305faec27edefcd63e2e1d737d", + "semantic_hash": "" + }, + "sites/mainweb/firebase.json": { + "mtime": 1781118792.3963437, + "ast_hash": "6a6442e8eeebcc690d289dc315a4de65", + "semantic_hash": "" + }, + "sites/mainweb/lib/trpc-provider.tsx": { + "mtime": 1781118792.4153914, + "ast_hash": "cb642ebd85f72d48b2b6f94213586dc0", + "semantic_hash": "" + }, + "sites/mainweb/lib/trpc.tsx": { + "mtime": 1781118792.4343894, + "ast_hash": "2be434548e8fb25ad91c3b773862668e", + "semantic_hash": "" + }, + "sites/mainweb/lib/use-judging-stream.ts": { + "mtime": 1781118792.4631276, + "ast_hash": "250c1ea1aac67089287588b6d71a0532", + "semantic_hash": "" + }, + "sites/mainweb/next-env.d.ts": { + "mtime": 1781067676.655502, + "ast_hash": "b698cdd97fe8e3bd16dcd74899ad7cef", + "semantic_hash": "" + }, + "sites/mainweb/next.config.mjs": { + "mtime": 1781118792.500926, + "ast_hash": "f10b4545ccf17077de983957a737898d", + "semantic_hash": "" + }, + "sites/mainweb/package.json": { + "mtime": 1781096216.6084018, + "ast_hash": "1ed6c5dfc4d738c4d0e0e004f38eab16", + "semantic_hash": "" + }, + "sites/mainweb/postcss.config.js": { + "mtime": 1781118792.5266857, + "ast_hash": "d6c94d62f7a091b5f407edc6b5a66caa", + "semantic_hash": "" + }, + "sites/mainweb/proxy.ts": { + "mtime": 1781118792.5598068, + "ast_hash": "090e9b4d447ff3b8285d12d66fdb1417", + "semantic_hash": "" + }, + "sites/mainweb/public/manifest.json": { + "mtime": 1767556162.0095558, + "ast_hash": "811193b037ef7f586ee52212011983bc", + "semantic_hash": "" + }, + "sites/mainweb/start.sh": { + "mtime": 1768663969.6602266, + "ast_hash": "703a4230d41f3587ea4dd9608bfb8567", + "semantic_hash": "" + }, + "sites/mainweb/tsconfig.json": { + "mtime": 1781118793.351182, + "ast_hash": "9ce0ba53d48bfc0860cd8a8f18e51339", + "semantic_hash": "" + }, + "sites/mainweb/turbo.json": { + "mtime": 1767556162.1767192, + "ast_hash": "432f92cc4fad760cfb9b86d8ae46e87d", + "semantic_hash": "" + }, + "sites/mainweb/types/css.d.ts": { + "mtime": 1781118793.379186, + "ast_hash": "23508b5f7e96451d0c6bc2a1ba21519d", + "semantic_hash": "" + }, + "sites/mainweb/types/images.d.ts": { + "mtime": 1781118793.3948598, + "ast_hash": "815e0a39cab59717d29cab73d6b2b215", + "semantic_hash": "" + }, + "tooling/eslint/base.js": { + "mtime": 1781067676.603918, + "ast_hash": "6c82d320255a539dbcebb4dfcf903318", + "semantic_hash": "" + }, + "tooling/eslint/next.js": { + "mtime": 1781067676.6024106, + "ast_hash": "a6e5bdf6fa7a4043bae8fd2d10d434d1", + "semantic_hash": "" + }, + "tooling/eslint/package.json": { + "mtime": 1781042923.032101, + "ast_hash": "f13a5a65ff9a1a95fab5a9ef5b83fd36", + "semantic_hash": "" + }, + "tooling/eslint/react-internal.js": { + "mtime": 1781067676.603918, + "ast_hash": "7df95c3ea147c924fec9b785923b203e", + "semantic_hash": "" + }, + "tooling/eslint/react.js": { + "mtime": 1781067676.603918, + "ast_hash": "c0ac50588baf89e1e064892a08d1dc7d", + "semantic_hash": "" + }, + "tooling/prettier/index.js": { + "mtime": 1781067676.6984491, + "ast_hash": "34fdaae21dde54a59ff73e563853733c", + "semantic_hash": "" + }, + "tooling/prettier/package.json": { + "mtime": 1781042923.032101, + "ast_hash": "bb243eadc129aeaf1bf0a2e97dfa00de", + "semantic_hash": "" + }, + "tooling/prettier/tsconfig.json": { + "mtime": 1767556165.0382786, + "ast_hash": "383ccbf3b4a375614582a6115deecea4", + "semantic_hash": "" + }, + "tooling/tailwind/package.json": { + "mtime": 1781042923.072317, + "ast_hash": "8ca68aa7b078a8dca140de877b8910f3", + "semantic_hash": "" + }, + "tooling/tailwind/postcss.config.js": { + "mtime": 1781118800.383209, + "ast_hash": "bd4b60979764a274e5c32cb68fce3767", + "semantic_hash": "" + }, + "tooling/typescript/base.json": { + "mtime": 1781118800.4098384, + "ast_hash": "9e1580009a73d1f5259f004f0344faa3", + "semantic_hash": "" + }, + "tooling/typescript/internal-package.json": { + "mtime": 1781118800.4163241, + "ast_hash": "8b2c4635c7ec05cc46fa052be3ae9f7d", + "semantic_hash": "" + }, + "tooling/typescript/nextjs.json": { + "mtime": 1767556165.2512293, + "ast_hash": "7369c973708e4a650899ae5053af0b94", + "semantic_hash": "" + }, + "tooling/typescript/package.json": { + "mtime": 1781118800.4321718, + "ast_hash": "0ca2230f8d7680453e5b8e87b12e6a1f", + "semantic_hash": "" + }, + "turbo.json": { + "mtime": 1781118800.4755988, + "ast_hash": "7abd8accc907bac323db2b11774c1492", + "semantic_hash": "" + }, + "turbo/generators/config.ts": { + "mtime": 1781118800.5243015, + "ast_hash": "c95b97ca63d8b99e7bd083755e01428c", + "semantic_hash": "" + }, + "types/globals.d.ts": { + "mtime": 1781118800.5774922, + "ast_hash": "6557f52fce8d7656410fd8fb33010adb", + "semantic_hash": "" + }, + ".github/ISSUE_TEMPLATE/bug_report.md": { + "mtime": 1781118717.8492382, + "ast_hash": "6e95f624643b40b28acdb46566e61a7e", + "semantic_hash": "" + }, + ".github/dependabot.yml": { + "mtime": 1778089409.8576221, + "ast_hash": "9e575708de1fdcae8725c35b5d55da05", + "semantic_hash": "" + }, + ".github/labeler.yml": { + "mtime": 1781118717.964118, + "ast_hash": "5db27d0eaaa21693b79891c02865889a", + "semantic_hash": "" + }, + ".github/pull.yml": { + "mtime": 1775352906.6318645, + "ast_hash": "d207dabdec011673bb5e40fe133f9635", + "semantic_hash": "" + }, + ".github/workflows/codeql.yml": { + "mtime": 1781118718.163716, + "ast_hash": "7167f4667798b88cc7e877e757c2ad4b", + "semantic_hash": "" + }, + ".github/workflows/dependabot-auto-merge.yml": { + "mtime": 1778089410.45189, + "ast_hash": "5d0073e01ba665b49ba743b6f32a3449", + "semantic_hash": "" + }, + ".github/workflows/deploy-hacklytics.yml": { + "mtime": 1781306096.5671732, + "ast_hash": "7beb5f73c4882d72b9be1a85f631fea4", + "semantic_hash": "" + }, + ".github/workflows/dev-to-main-pr.yml": { + "mtime": 1781118718.3018835, + "ast_hash": "71438b08c1f68f5907deab93ce09dd93", + "semantic_hash": "" + }, + ".github/workflows/feature-to-dev-pr.yml": { + "mtime": 1781118718.3571928, + "ast_hash": "597cc78b22e6045b04b398c5159a5484", + "semantic_hash": "" + }, + ".github/workflows/firebase-hosting-merge.yml": { + "mtime": 1781118718.4257731, + "ast_hash": "cb3ceea245d47650635277ebf5ccff85", + "semantic_hash": "" + }, + ".github/workflows/firebase-hosting-pull-request.yml": { + "mtime": 1781118718.5015852, + "ast_hash": "0ff1c3b8fa8725c707a602a50ead5557", + "semantic_hash": "" + }, + ".github/workflows/label.yml": { + "mtime": 1781118718.5558443, + "ast_hash": "02ecc76d990e630f6393963eb1b6aac6", + "semantic_hash": "" + }, + ".github/workflows/pnpm-ci.yml": { + "mtime": 1781118718.5780032, + "ast_hash": "1df635c113c795d97d5b33c0af3da5c0", + "semantic_hash": "" + }, + ".github/workflows/test.yml": { + "mtime": 1781118718.6183386, + "ast_hash": "7a486c321d8a7c544cb938f7c405816c", + "semantic_hash": "" + }, + ".github/workflows/weekly-audit-log-cleanup.yml": { + "mtime": 1780866659.3781197, + "ast_hash": "f326296527e945da067c1f4e8ad48177", + "semantic_hash": "" + }, + "GCP_SETUP.md": { + "mtime": 1781118719.5251284, + "ast_hash": "393829b04384e49a6b685615e2449f94", + "semantic_hash": "" + }, + "README.md": { + "mtime": 1781118741.2242599, + "ast_hash": "d2b4ff9b01504876276f6c4123e55791", + "semantic_hash": "" + }, + "apphosting.yaml": { + "mtime": 1780866737.021364, + "ast_hash": "acace4fa65b9daec4e2f84afb0163a86", + "semantic_hash": "" + }, + "docker-compose.yml": { + "mtime": 1768156168.4954267, + "ast_hash": "f7c692ec6bbb7587d9c802d0a38dd46b", + "semantic_hash": "" + }, + "packages/api/lint_out.txt": { + "mtime": 1775166428.2307005, + "ast_hash": "4d3974187b1c37f44e6c7aa44bdab6d2", + "semantic_hash": "" + }, + "packages/api/tsc_errors.txt": { + "mtime": 1775166737.6697257, + "ast_hash": "c28c57de200a979b976a7683e6bcf618", + "semantic_hash": "" + }, + "packages/db/output.txt": { + "mtime": 1771766913.9140842, + "ast_hash": "7a067d3c81c0dc4b1ebbbed9c0fe0f3c", + "semantic_hash": "" + }, + "pnpm-workspace.yaml": { + "mtime": 1778814644.81654, + "ast_hash": "b60d07ee352f342e183b052a8a8045b4", + "semantic_hash": "" + }, + "sites/discordBot/docker-compose.yml": { + "mtime": 1781118741.6914625, + "ast_hash": "f1da941dd249121d3e96723dbbcbf181", + "semantic_hash": "" + }, + "sites/hacklytics2027/README.md": { + "mtime": 1767899849.7072065, + "ast_hash": "f15aaa42d5d299d091b1171097ea56ad", + "semantic_hash": "" + }, + "sites/hacklytics2027/compressed_sizes.txt": { + "mtime": 1770839980.550634, + "ast_hash": "34135a7fe170ec271d9fba43a4cc9991", + "semantic_hash": "" + }, + "sites/hacklytics2027/file_sizes.txt": { + "mtime": 1770839528.113874, + "ast_hash": "e78ab26779087852d07cc328ed6168d2", + "semantic_hash": "" + }, + "sites/hacklytics2027/out_sizes.txt": { + "mtime": 1770839644.0738301, + "ast_hash": "584500d4dfb7d1e99794fa855988df57", + "semantic_hash": "" + }, + "sites/hacklytics2027/playwright-report/index.html": { + "mtime": 1781118757.1728704, + "ast_hash": "64d35b31bb2fd47183605b7b5bac012c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/index.html": { + "mtime": 1781118763.8503556, + "ast_hash": "233c3d5a3d87b578b2e4de43fea3e2f6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/wonka/hi.txt": { + "mtime": 1767899851.816857, + "ast_hash": "68b329da9893e34099c7d8ad5cb9c940", + "semantic_hash": "" + }, + "sites/mainweb/README.md": { + "mtime": 1767556149.1669846, + "ast_hash": "7699048944e126c7f9de1107ef8bf8a6", + "semantic_hash": "" + }, + "sites/mainweb/public/robots.txt": { + "mtime": 1767556162.0376127, + "ast_hash": "9d34b20d04ea1c9d7b3ce878d1af923d", + "semantic_hash": "" + }, + "tooling/eslint/README.md": { + "mtime": 1767556164.665198, + "ast_hash": "3f4915336e7c54df90f5b12b527b8b87", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/browser.svg": { + "mtime": 1767899850.5961366, + "ast_hash": "66fec07e688e6715a3cffa9ac859397b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-color/cloudb/cloud-blue-down.png": { + "mtime": 1778813276.8143265, + "ast_hash": "bc44d6f00ce0487eccde6ec60b5455b1", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-color/cloudy/cloud-button.png": { + "mtime": 1778813276.8158631, + "ast_hash": "d04f6b25dfd7c8f594d80d1015c6d5af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-end/cloudEnd.png": { + "mtime": 1778813276.8194394, + "ast_hash": "c0988ccd8e05bc0f1574e96e0450220c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-final/image.png": { + "mtime": 1778813276.8219533, + "ast_hash": "0e25cd0b3238251896dd51e8e0c81476", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/DSGTCloud.png": { + "mtime": 1778813276.8244681, + "ast_hash": "04e376b59f85423eeb05956f2685c699", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/candy/candyEnd.png": { + "mtime": 1778813276.8281248, + "ast_hash": "593c099467a19b29f3e1a9b064f92a56", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/cloudBottom.png": { + "mtime": 1778813276.8296406, + "ast_hash": "563c3c452eafc2f7487d62c737ba38b7", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/dateCloud.png": { + "mtime": 1778813276.832183, + "ast_hash": "2066aed87befd95696e0fb963f07cee9", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/largecloud.png": { + "mtime": 1767899850.8937235, + "ast_hash": "eb45a889b4bffbd5d5a3f32bb667b156", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/midCloud.png": { + "mtime": 1767899850.9196534, + "ast_hash": "590754d3d87d0556e8ce50367b5d33a0", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/cloud-main/smallCloud.png": { + "mtime": 1767899850.9759755, + "ast_hash": "9eb257b9edee1da1ff595010b01dc2af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/dsgt.png": { + "mtime": 1778813276.8350384, + "ast_hash": "0f083998cb4d8b38de46a21b7e9396f8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/file.svg": { + "mtime": 1767899851.1163318, + "ast_hash": "d09f95206c3fa0bb9bd9fefabfd0ea71", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/globe.svg": { + "mtime": 1767899851.17315, + "ast_hash": "3312a118b9a2c78c9b10245734b645a6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/instagram-logo.svg": { + "mtime": 1767899851.2269475, + "ast_hash": "708d1fe2f78f64ea2f182e8c000e3614", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/logo.png": { + "mtime": 1778813276.838535, + "ast_hash": "1ce03856440e2ce0603d225eeef2a508", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/mid-candy/medium.png": { + "mtime": 1778813276.842985, + "ast_hash": "c1187d161509190cc3ec01955fd7dca6", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/mlh-trust-badge.svg": { + "mtime": 1779908904.7538915, + "ast_hash": "8a3d6ff4550c2c06158ccaec261ee1e4", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/next.svg": { + "mtime": 1767899851.5217545, + "ast_hash": "8e061864f388b47f33a1c3780831193e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/apple-watch.jpg": { + "mtime": 1778813276.8448503, + "ast_hash": "03af761b3871b32c7de57480a406b74c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/fitbit.jpg": { + "mtime": 1778813276.847867, + "ast_hash": "de307bbf30f2b116fbc645ec83e63c5b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/jbl-flip.jpg": { + "mtime": 1778813276.8508968, + "ast_hash": "a690e31799f291a5aee47bdd2be57666", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/karaoke-new.jpg": { + "mtime": 1778813276.853427, + "ast_hash": "8f3c37c10d4aed533075a24336728246", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/nespresso-new.jpg": { + "mtime": 1778813276.8559434, + "ast_hash": "3f1ec9686cf2eb8147093b52fd2dbd02", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/ninja-creami.jpg": { + "mtime": 1778813276.8579526, + "ast_hash": "9711ea6cc59394381d5ecbdd080745af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/owala.jpg": { + "mtime": 1770840022.5057251, + "ast_hash": "3142246267bc721fe25d02a66c66aa2b", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/pickleball-backpack.jpg": { + "mtime": 1778813276.860973, + "ast_hash": "46bfe366f264479e5896b255a05b52f8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/poker-set-new.jpg": { + "mtime": 1778813276.8629868, + "ast_hash": "21f61b6a948d075666a00c36436f88a8", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/projector-new.jpg": { + "mtime": 1778813276.8655238, + "ast_hash": "3cc899e62796829f10ba986eb6d993d0", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/samsung-monitor.jpg": { + "mtime": 1778813276.8675356, + "ast_hash": "117912c4b834642220a0038ca01b4769", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/theragun-mini.jpg": { + "mtime": 1778813276.8696723, + "ast_hash": "3c8df942b74d17adcbc30e462e4320c2", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/prizes/turntable-new.jpg": { + "mtime": 1778813276.8711894, + "ast_hash": "29121df4ee0c4fa493f9d4e022417267", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/blue.png": { + "mtime": 1767899851.5521133, + "ast_hash": "1e7e2071f4be4dab3f36ffe8902ed929", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/green.png": { + "mtime": 1767899851.56871, + "ast_hash": "ffdc0bd0eec99ababcf063c09077f5d9", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/pink.png": { + "mtime": 1767899851.5922995, + "ast_hash": "6929b19508a0903afda9ad7314f4b13f", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/small-candy/yellow.png": { + "mtime": 1767899851.6104872, + "ast_hash": "e9a5173b9715a9dbe373f75126ea1ad3", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_Cox.png": { + "mtime": 1770329152.0444064, + "ast_hash": "013fe21154de0ed04813c81cc7f07e82", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_NLP.png": { + "mtime": 1778813276.873207, + "ast_hash": "1877636ff0310f7683357ba78a37ca6a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_SafetyKit.svg": { + "mtime": 1769116215.6532536, + "ast_hash": "ae062ace176f1d814df9e1221d43a249", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_Tractian.svg": { + "mtime": 1769116215.6532536, + "ast_hash": "c1dc2ce051c25e9870f51fff446dcf8a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/MiniTier_X.png": { + "mtime": 1778813276.8762321, + "ast_hash": "1bdc6842edf4783ed9f1d57efc3a009d", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/Silver_SphinxAI.svg": { + "mtime": 1769116215.6572156, + "ast_hash": "e98ce1ad61eea83070bd8ea37397018a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_actian.png": { + "mtime": 1778813276.878799, + "ast_hash": "6c3f98ae0513027470a79b2703647fc5", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_att.png": { + "mtime": 1778813276.879801, + "ast_hash": "46f4db3094c7187219b115fdd6e812fb", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_deshaw.png": { + "mtime": 1778813276.8828874, + "ast_hash": "95a83910e08cfe86f6f17f60affad273", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_figma.svg": { + "mtime": 1769116215.6596131, + "ast_hash": "3da2dd69aab574e5ce7d47a90afb315e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/bronze_scale.png": { + "mtime": 1778813276.8838873, + "ast_hash": "3264403f0cf19dd0582152547e83e76d", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/gold_databricks.png": { + "mtime": 1778813276.88614, + "ast_hash": "768d64b6f191f428fabf3141bbff08af", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/gold_intuit.png": { + "mtime": 1778813276.888268, + "ast_hash": "c642d6f3b5568bb939f81dea8c697e8f", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/silver_assurant.png": { + "mtime": 1778813276.8917928, + "ast_hash": "6a4ca0757ef485fa3c0df48d862fac72", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/sponsors/silver_growthfactor.svg": { + "mtime": 1769116215.663626, + "ast_hash": "1bd5de28fd0dc41edebe0b5a4fe6a643", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/bronze.png": { + "mtime": 1778813276.8943129, + "ast_hash": "90d8d4ce4a10190a544176abcdcd7b0c", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/gold.png": { + "mtime": 1778813276.8969216, + "ast_hash": "0d24a830d8f96d5e5905ce6af6e8033a", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/tickets/silver.png": { + "mtime": 1778813276.8994305, + "ast_hash": "b4aff12720ece262b3b675cec75631fa", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/vercel.svg": { + "mtime": 1767899851.758679, + "ast_hash": "c0af2f507b369b085b35ef4bbe3bcf1e", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/window.svg": { + "mtime": 1767899851.7801552, + "ast_hash": "a2760511c65806022ad20adf74370ff3", + "semantic_hash": "" + }, + "sites/hacklytics2027/public/wonka/wonka.jpg": { + "mtime": 1778813276.9027433, + "ast_hash": "f403be1a2129ecc1da0473bdeffbb0ad", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aamogh.png": { + "mtime": 1778813276.915383, + "ast_hash": "43662ffabc5671929d2f4e7f2ba87d84", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aditi.jpg": { + "mtime": 1778813276.936756, + "ast_hash": "8682825e3d235b1cd8809138e46c3ce5", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/alysha.jpg": { + "mtime": 1778813276.9509146, + "ast_hash": "1163fcea2f665241ab006d60baf5a57d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/alysha.png": { + "mtime": 1778027641.4820802, + "ast_hash": "d2bb6a88a20bd530231553db350139dd", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/anika.jpg": { + "mtime": 1778813276.9595828, + "ast_hash": "2d07551ac9f18126979d47b0e0ab7b8c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/anushka.jpg": { + "mtime": 1778813276.975856, + "ast_hash": "615afca1e654c1a0f3b0dbbf6eef999a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/aryan.jpeg": { + "mtime": 1778813276.9853792, + "ast_hash": "6dae64666f078f6f8070d1127c7aa9d2", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/diya.jpeg": { + "mtime": 1778813277.0051284, + "ast_hash": "323f2d218eb5711693d75b42ed713e16", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/glenne.png": { + "mtime": 1778813277.0155325, + "ast_hash": "457ff650ebfb4a100dc65a71e4f41296", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/ideas.png": { + "mtime": 1778813277.0246782, + "ast_hash": "d557204d1e15790f1461f5698d7f664c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/jake.png": { + "mtime": 1778813277.0298927, + "ast_hash": "6ccdcabb52103322b067ea3d6921c354", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/nitika.jpg": { + "mtime": 1778813277.0402768, + "ast_hash": "da4389f7ad8a8641fe2463ce6ccde564", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/sarvesh.jpg": { + "mtime": 1767556150.9877334, + "ast_hash": "d0c49b6b8b5dba55200ddc7677691a51", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/smera.png": { + "mtime": 1778813277.065477, + "ast_hash": "3aa4d844c983dfbedbee95ab03bd0c74", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/squad.jpg": { + "mtime": 1778813277.0851946, + "ast_hash": "66ea92d83ec81e6e57fd9875f44dc99b", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/2025/vidhi.jpeg": { + "mtime": 1778813277.0933185, + "ast_hash": "76487f03420c32d6beecccfd2bee888a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/blob1--export.svg": { + "mtime": 1767556151.7812662, + "ast_hash": "2e35979a013e5add58d7243540ce448c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/blob2--export.svg": { + "mtime": 1767556151.7997816, + "ast_hash": "9bb2392740cf7a2524f0c7d866644dec", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer--export.svg": { + "mtime": 1767556151.8229296, + "ast_hash": "10ce0f3fadf7d481b541f6ba9be5034e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer-mobile--export.svg": { + "mtime": 1767556151.844252, + "ast_hash": "9551a31a876b7d0bd365b0896d8af08d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/footer-mobile2--export.svg": { + "mtime": 1767556151.860243, + "ast_hash": "09d15fc1e9866b421b379e6c4f7fdfae", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero--export.svg": { + "mtime": 1767556151.8797698, + "ast_hash": "71b0b07b28f76e92851685df042c12b2", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero2--export.svg": { + "mtime": 1767556151.896109, + "ast_hash": "f6f4c2286fed53ba1d0b1150cd638b08", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero2-mobile--export.svg": { + "mtime": 1767556151.9176433, + "ast_hash": "a63863062af88218b61fb3a622d72e19", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/hero3--export.svg": { + "mtime": 1767556151.9386299, + "ast_hash": "a27c2973ca27c8004cd24cdccc448a16", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/major--export.svg": { + "mtime": 1767556151.9720466, + "ast_hash": "b96f6343e7b4b6861d9286cbdc584b8d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/small-blob--export.svg": { + "mtime": 1767556151.9832006, + "ast_hash": "3ee043311af553d3898777a530db412d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/blobs/small-header--export.svg": { + "mtime": 1767556151.9939182, + "ast_hash": "5d3fdd981c4ecc0f9217447285a88b0b", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-128.png": { + "mtime": 1767556152.0116081, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-196.png": { + "mtime": 1778813277.0943153, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/Icon-512.png": { + "mtime": 1778813277.0980265, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/apple-touch-icon.png": { + "mtime": 1778813277.0990262, + "ast_hash": "7d765fb1eae23c3ce1da6a6bdf5547c0", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/favicon-16x16.png": { + "mtime": 1767556152.100145, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/favicon-32x32.png": { + "mtime": 1767556152.119794, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/financial_icon.png": { + "mtime": 1767556152.1620197, + "ast_hash": "eba98e2f294e4b15af7a7f70ba830ea7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/heathcare_icon.png": { + "mtime": 1778813277.099534, + "ast_hash": "3bb8cdcdda33b39b537b8c173102e716", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/logos-20.png": { + "mtime": 1778813277.1091182, + "ast_hash": "e0950fa0823e8f3a5a50a04fb26069e9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/sports_icon.png": { + "mtime": 1767556152.3071828, + "ast_hash": "b03ae00a892b62ac317858e5f049997a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/dsgt/square-logo.png": { + "mtime": 1778813277.1122496, + "ast_hash": "a3d441927961227e4387fefa995c4d70", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/Mentra.png": { + "mtime": 1778813277.1144226, + "ast_hash": "b30f8a45ed76467c4980bc033a1d7be3", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/arc-logo-v3.png": { + "mtime": 1778813277.1183188, + "ast_hash": "d8988df8313a2362e0deb108b96001b7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/birdclef.png": { + "mtime": 1767556152.4597137, + "ast_hash": "efac9250ec2ec02ae419a355351bafdf", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/blueconduit.png": { + "mtime": 1767556152.477871, + "ast_hash": "a86a172050e611338e23c0fa5ba2943e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/dlp4.png": { + "mtime": 1778813277.1227162, + "ast_hash": "9a3ef363a8f72463d756df63c60048d9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/furnichanter.png": { + "mtime": 1778813277.1258748, + "ast_hash": "2108ce313fdc15ccd90d267757c63e86", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/gtaa.png": { + "mtime": 1778813277.1275172, + "ast_hash": "3ec1984c0d97c74836211b33ae050864", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/shepcenter.jpeg": { + "mtime": 1767556152.5906053, + "ast_hash": "ce3ccdfe08e3639bd90e00024bad6235", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/stock.png": { + "mtime": 1778813277.1395092, + "ast_hash": "b184b4094de5a7c33983da386cc1a1a1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/storm.png": { + "mtime": 1778813277.1411324, + "ast_hash": "9d0acc433d59b7d467bec44296708908", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/logos/trading.png": { + "mtime": 1778813277.1718073, + "ast_hash": "fcb4b3c788dfa215305c0f390cc9162c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Devarsh.jpeg": { + "mtime": 1767556153.2751994, + "ast_hash": "f05f921025fbabe1aedf59b583090024", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Jessi.jpg": { + "mtime": 1767556153.3232813, + "ast_hash": "9bb145c48f5810ad84f141a7f93fad72", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/John.jpg": { + "mtime": 1767556153.4097571, + "ast_hash": "4fede7d0bb0abaa74d9b6eb98d57a4b9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Krishi.jpg": { + "mtime": 1767556153.4655123, + "ast_hash": "f02ff4017f74a27e927838dd1e58b6ac", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Pranay.jpg": { + "mtime": 1767556153.5092869, + "ast_hash": "934ba36bd45e281faddd910cbdda8e05", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Pratham.jpeg": { + "mtime": 1767556153.7263422, + "ast_hash": "41adb87dc4d2d50f93a46c541fac405a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Reshma.JPG": { + "mtime": 1767556153.8184183, + "ast_hash": "9bb89464142bf4d948424026a0ea0d8a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2022/Shreiyas.png": { + "mtime": 1778813277.1761203, + "ast_hash": "7d552e3a5e35310153e0716b8d70c083", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Adith.jpg": { + "mtime": 1767556153.8988922, + "ast_hash": "a8ad139a9ede9626b32ec0d6f9f736e1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Archie.jpg": { + "mtime": 1767556153.9485636, + "ast_hash": "9c66f066728d428bfc787fae9e545b78", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Aryan.jpg": { + "mtime": 1767556153.9796512, + "ast_hash": "1139a9b1fb7ca4b831a52d42b88dc1c6", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Bradley.jpg": { + "mtime": 1767556153.999257, + "ast_hash": "2c5d29c3fb257e410169490a9c1beaf6", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Emma.jpeg": { + "mtime": 1767556154.1951115, + "ast_hash": "c6b1c283994056501397b61e95bbe849", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Krishi.jpg": { + "mtime": 1767556154.3294625, + "ast_hash": "9834e459af4577ca08c7c22b3b9aab0a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Pennon.png": { + "mtime": 1767556154.565122, + "ast_hash": "8e62185cc58928932a37e08f7ff5ccf7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Smera.jpeg": { + "mtime": 1778813277.1917863, + "ast_hash": "2956ec7c6bfe4d9823bce65c4c567ff0", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2023/Vicente.png": { + "mtime": 1767556155.2834804, + "ast_hash": "75ce7feb1ef6e66cfaf6fab3f20db8ff", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Aditi.jpeg": { + "mtime": 1767556155.421899, + "ast_hash": "97e40b88b746aa5e9cf0ba6eddebe2c1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Archie.jpg": { + "mtime": 1767556155.46597, + "ast_hash": "1a0947cad8c57c1beff07c92c4b1fdd1", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Dhruv.jpeg": { + "mtime": 1767556155.5507329, + "ast_hash": "4143b6502c7f6c1bdec8a7655144ceed", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Emma.jpeg": { + "mtime": 1767556155.6483338, + "ast_hash": "125bda00b644eb44aba8616ee71fe7a7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Harsha.jpeg": { + "mtime": 1767556155.6915376, + "ast_hash": "2cdc2df948f6169cd6bd50e78ae67c78", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Lavan.jpeg": { + "mtime": 1767556155.7320755, + "ast_hash": "2091e9502adb1bfdeb2e50f01bb96eaf", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Nikita.jpeg": { + "mtime": 1767556155.7926126, + "ast_hash": "43b207a52ad85e9149265e7835b3ae3e", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Om.jpeg": { + "mtime": 1767556155.9826832, + "ast_hash": "3e154095e26f1628785df25c5ab169fd", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Ryan.jpeg": { + "mtime": 1767556156.1600156, + "ast_hash": "a5e1d3e07153330172a6b4e12164cc03", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Shreiyas.jpeg": { + "mtime": 1778813277.1943085, + "ast_hash": "bed06c3006049037a7ea0abe9fabd24c", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Shreya.jpg": { + "mtime": 1767556156.29799, + "ast_hash": "ded8c3fe6458695ff2c8374503ce0525", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/portraits/2024/Smera.png": { + "mtime": 1778813277.2009268, + "ast_hash": "4a8d33ba18824dfa7708c3c119a038d7", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide0.jpg": { + "mtime": 1767556156.722722, + "ast_hash": "4089a73b32dc9477fc599442d2e90875", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide1.jpg": { + "mtime": 1778813277.2054732, + "ast_hash": "25c4d2bb5175681ec2e68ee601bc2842", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide2.jpg": { + "mtime": 1767556156.8709068, + "ast_hash": "7dd58b529e1977eec9cceeddd2ef529a", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide6.jpg": { + "mtime": 1778813277.59207, + "ast_hash": "5915421922db5c9a4e2f5238bbc605b9", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide7.jpg": { + "mtime": 1778813277.595553, + "ast_hash": "5e619537bb5522f067001019fbbd9300", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide8.jpg": { + "mtime": 1767556160.479468, + "ast_hash": "9572ceb0fda034d4825f620e68939b14", + "semantic_hash": "" + }, + "sites/mainweb/assets/images/slides/slide9.jpg": { + "mtime": 1778813277.6237686, + "ast_hash": "91e7c297cdf73c19602ad57401c44256", + "semantic_hash": "" + }, + "sites/mainweb/components/Background/background-design-1.png": { + "mtime": 1775430727.3053875, + "ast_hash": "dd23fe479a70d5b51505d6ce918e1216", + "semantic_hash": "" + }, + "sites/mainweb/public/background-design-1.png": { + "mtime": 1767556161.8741417, + "ast_hash": "dd23fe479a70d5b51505d6ce918e1216", + "semantic_hash": "" + }, + "sites/mainweb/public/circles.svg": { + "mtime": 1767556161.8908625, + "ast_hash": "2517f9eb2aa231a483a2b0c27da9d454", + "semantic_hash": "" + }, + "sites/mainweb/public/favicon-16x16.png": { + "mtime": 1767556161.9045897, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/public/favicon-32x32.png": { + "mtime": 1767556161.9184349, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-128.png": { + "mtime": 1767556162.5460322, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-196.png": { + "mtime": 1778813277.6276436, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/Icon-512.png": { + "mtime": 1778813277.6296868, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/apple-touch-icon.png": { + "mtime": 1778813277.6312132, + "ast_hash": "7d765fb1eae23c3ce1da6a6bdf5547c0", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/favicon-16x16.png": { + "mtime": 1767556162.6295133, + "ast_hash": "6d4647051d2943c215482626d5836230", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/favicon-32x32.png": { + "mtime": 1767556162.6495974, + "ast_hash": "a8d27a52355240dba9eb910def675c4c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/financial_icon.png": { + "mtime": 1767556162.6850204, + "ast_hash": "eba98e2f294e4b15af7a7f70ba830ea7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/heathcare_icon.png": { + "mtime": 1778813277.6327028, + "ast_hash": "3bb8cdcdda33b39b537b8c173102e716", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/logos-20.png": { + "mtime": 1778813277.638908, + "ast_hash": "e0950fa0823e8f3a5a50a04fb26069e9", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/sports_icon.png": { + "mtime": 1767556162.796482, + "ast_hash": "b03ae00a892b62ac317858e5f049997a", + "semantic_hash": "" + }, + "sites/mainweb/public/images/dsgt/square-logo.png": { + "mtime": 1778813277.6410306, + "ast_hash": "a3d441927961227e4387fefa995c4d70", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/Mentra.png": { + "mtime": 1778813277.6430013, + "ast_hash": "b30f8a45ed76467c4980bc033a1d7be3", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/arc-logo-v3.png": { + "mtime": 1778813277.645968, + "ast_hash": "d8988df8313a2362e0deb108b96001b7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/birdclef.png": { + "mtime": 1767556162.9113204, + "ast_hash": "efac9250ec2ec02ae419a355351bafdf", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/blueconduit.png": { + "mtime": 1767556162.930328, + "ast_hash": "a86a172050e611338e23c0fa5ba2943e", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/dlp4.png": { + "mtime": 1778813277.6498187, + "ast_hash": "9a3ef363a8f72463d756df63c60048d9", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/furnichanter.png": { + "mtime": 1778813277.6525471, + "ast_hash": "2108ce313fdc15ccd90d267757c63e86", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/gtaa.png": { + "mtime": 1778813277.654169, + "ast_hash": "3ec1984c0d97c74836211b33ae050864", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/shepcenter.jpeg": { + "mtime": 1767556163.0251904, + "ast_hash": "ce3ccdfe08e3639bd90e00024bad6235", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/stock.png": { + "mtime": 1778813277.6609328, + "ast_hash": "b184b4094de5a7c33983da386cc1a1a1", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/storm.png": { + "mtime": 1778813277.66333, + "ast_hash": "9d0acc433d59b7d467bec44296708908", + "semantic_hash": "" + }, + "sites/mainweb/public/images/logos/trading.png": { + "mtime": 1778813277.686952, + "ast_hash": "fcb4b3c788dfa215305c0f390cc9162c", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/1.png": { + "mtime": 1770734961.954631, + "ast_hash": "138e9ea74ab474f9633d6d28d1c4999f", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/2.png": { + "mtime": 1778813277.707545, + "ast_hash": "a8de9df4ea49df8d931ec3426596894f", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/3.png": { + "mtime": 1778027641.9553885, + "ast_hash": "de0c852a23b172048c9e6e10db796639", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/4.png": { + "mtime": 1770734962.0026386, + "ast_hash": "a0fcade4dec26f6e717e9b6a57f7a066", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/5.png": { + "mtime": 1770734962.0277212, + "ast_hash": "b5a83164c4e93c7591b009b09c3531e7", + "semantic_hash": "" + }, + "sites/mainweb/public/images/zones/6.png": { + "mtime": 1778813277.7259736, + "ast_hash": "38c65faba080be45774923ff5a31238c", + "semantic_hash": "" + }, + "sites/mainweb/public/logo128.png": { + "mtime": 1767556161.9669304, + "ast_hash": "2d701e4558f43f6a735d00dbb79b0bbb", + "semantic_hash": "" + }, + "sites/mainweb/public/logo196.png": { + "mtime": 1778813277.728173, + "ast_hash": "4513b5548ee80b506fc74a24b394fd2d", + "semantic_hash": "" + }, + "sites/mainweb/public/logo512.png": { + "mtime": 1778813277.7296987, + "ast_hash": "165b98c3179393d0ca6cbecb5aba91bc", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Black.svg": { + "mtime": 1779908904.7389324, + "ast_hash": "02531a570a5cada8f5baee91c37024b4", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Blue.svg": { + "mtime": 1779908904.7727602, + "ast_hash": "7cf3173f9bbfb11324305725f3f6f4ae", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Dark Gray.svg": { + "mtime": 1779908904.7639806, + "ast_hash": "8387d35cfa760abad581e67c13e1f640", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Red.svg": { + "mtime": 1779908904.7796776, + "ast_hash": "3b080e7e24a817cc919cf20d1779296c", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_White.svg": { + "mtime": 1779908904.7538915, + "ast_hash": "8a3d6ff4550c2c06158ccaec261ee1e4", + "semantic_hash": "" + }, + "trust badge/league-2027-season-trust-badge-template_Yellow.svg": { + "mtime": 1779908904.747579, + "ast_hash": "c3488c604b79d92494b69a47f45aaf49", + "semantic_hash": "" + } +} \ No newline at end of file diff --git a/packages/api/.cache/tsbuildinfo.json b/packages/api/.cache/tsbuildinfo.json index 547e79d4..ad675075 100644 --- a/packages/api/.cache/tsbuildinfo.json +++ b/packages/api/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/members.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/stripe.ts","../../db/src/schemas/security.ts","../../db/src/schemas/settings.ts","../../db/src/schemas/index.ts","../../db/src/client.ts","../../db/src/index.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bl-_61jq.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../src/middleware/cache.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.6/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_260d2baf7269712ce9c94398d0b61016/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/lib/types.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/errors.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_b65c7d45eaf29612ea77c4e1a10c34a4/node_modules/next-auth/providers/nodemailer.d.ts","../../auth/src/config.ts","../../../node_modules/.pnpm/@types+cookie@0.6.0/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/index.d.ts","../../auth/src/adapter.ts","../../auth/src/auth.ts","../../auth/src/utils.ts","../../auth/src/index.ts","../src/context.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d.mts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/transformer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/plainer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/types.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/class-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/custom-transformer-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+sanitize-html@2.16.1/node_modules/@types/sanitize-html/index.d.ts","../src/middleware/security.ts","../src/trpc.ts","../src/routers/hello-procedures.ts","../src/routers/hello.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/interface.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/index.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/lookup.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/index.d.ts","../src/routers/user.ts","../src/middleware/procedures.ts","../src/routers/admin.ts","../src/routers/member.ts","../src/routers/hackathon.ts","../src/routers/events.ts","../src/routers/judge.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/net/httpclient.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripecontext.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/apiversion.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/lib.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/striperesource.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/crypto/cryptoprovider.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripeemitter.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/platform/platformfunctions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/decimal.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/shared.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meters.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/coupons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/promotioncodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/discounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/capabilities.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/bankaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/externalaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/loginlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/multipart.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/filelinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/files.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxids.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/mandates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintentamountdetailslineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/connectcollectiontransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transferreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customercashbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/payouts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reservetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxdeductedatsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/topups.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cardholders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/physicalbundles.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactionsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/feerefunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applicationfees.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reviews.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/charges.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupattempts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethods.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/features.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlements.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlementsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/productfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/prices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxcodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/testclocks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/locations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/creditreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/debitreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactionentries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionschedules.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicepayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/shippingrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/lineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customerbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cashbalances.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/fundinginstructions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancesummary.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditgrants.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerttriggereds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/suppliers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/orders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountowners.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountownerships.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationreports.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/earlyfraudwarnings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/paymentevaluations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelistitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelists.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reportruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reporttypes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/holds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/releases.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/scheduledqueryruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/associations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculationlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/registrations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/settings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactionlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/connectiontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/onboardinglinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccountfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balance.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancesettings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoiceitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/quotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcemandatenotifications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/webhooks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applepaydomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/countryspecs.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/ephemeralkeys.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/exchangerates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicerenderingtemplates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/oauth.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentattemptrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethodconfigurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethoddomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/webhookendpoints.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resourcenamespace.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/secrets.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/requests.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/deletedobject.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventsession.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventstream.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/v2amounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounttokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/eventdestinations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.core.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/types.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/requestsender.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/error.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.esm.node.d.ts","../src/routers/stripe.ts","../src/routers/audit.ts","../src/routers/team.ts","../src/routers/settings.ts","../src/root.ts","../src/index.ts","../src/middleware/http-security.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.8/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/tasks.d-deyaimiu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/traces.d.d2t_r8rx.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/rawsnapshot.d-d_x3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/config.d.a1h_y6jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/rpc.d.b_8spu0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/worker.d.zphpo4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/browser.d.bcoexmfg.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.8/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/global.d.dvssrdq5.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/index.d.ts","../src/.internal-tests/resilience.test.ts","../src/.internal-tests/routers.test.ts","../src/.internal-tests/security.test.ts"],"fileIdsList":[[391,433,517,518,900,908],[391,433,891,892,893,894,895,897,900,908,909],[391,433,897,900],[391,433,891],[391,433],[391,433,900],[391,433,896,900],[391,433,896],[391,433,890,898,900,909],[391,433,900,902,908],[391,433,900,904,908],[391,433,898,900,903,905,907],[391,433,900,905],[391,433,496,891,896,900,906,908],[391,433,900,908],[391,433,496,889,890,896,897,899,908],[391,433,508,516,518,909],[391,433,499,500,501,502,503,505,508,516,517],[391,433,505,508],[391,433,499],[391,433,508],[391,433,504,508],[391,433,498,504],[391,433,497,506,508,517],[391,433,508,510,516],[391,433,508,512,513,516],[391,433,516],[391,433,506,508,511,514,515],[391,433,508,514],[391,433,496,499,504,508,512,516],[391,433,508,516],[391,433,495,496,497,498,504,505,507,516],[391,433,909,913],[222,385,391,433,909],[293,385,391,433,909],[379,385,391,433,909],[222,293,379,391,433,910,911,912],[391,433,531,532,533],[391,433,531],[391,433,1230,1231],[391,430,433],[391,432,433],[433],[391,433,438,468],[391,433,434,439,445,446,453,465,476],[391,433,434,435,445,453],[386,387,388,391,433],[391,433,436,477],[391,433,437,438,446,454],[391,433,438,465,473],[391,433,439,441,445,453],[391,432,433,440],[391,433,441,442],[391,433,443,445],[391,432,433,445],[391,433,445,446,447,465,476],[391,433,445,446,447,460,465,468],[391,428,433],[391,428,433,441,445,448,453,465,476],[391,433,445,446,448,449,453,465,473,476],[391,433,448,450,465,473,476],[389,390,391,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,445,451],[391,433,452,476],[391,433,441,445,453,465],[391,433,454],[391,433,455],[391,432,433,456],[391,430,431,432,433,434,435,436,437,438,439,440,441,442,443,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,458],[391,433,459],[391,433,445,460,461],[391,433,460,462,477,479],[391,433,445,465,466,468],[391,433,467,468],[391,433,465,466],[391,433,468],[391,433,469],[391,430,433,465],[391,433,445,471,472],[391,433,471,472],[391,433,438,453,465,473],[391,433,474],[391,433,453,475],[391,433,448,459,476],[391,433,438,477],[391,433,465,478],[391,433,452,479],[391,433,480],[391,433,445,447,456,465,468,476,479,481],[391,433,465,482],[391,433,490],[391,433,445,465,473,483,484,485,488,489,490],[391,433,538,547,549],[391,433,538],[391,433,538,542,545,546,547,548,830,875],[391,433,538,812],[391,433,538,542,546,549,830,875],[391,433,538,542,545,549,830,875],[391,433,536,537],[391,433,956],[391,433,1203,1209,1227,1228,1229,1232],[391,433,1239],[391,433,1239,1240],[391,433,1207,1209,1210],[391,433,1207,1209],[391,433,1207],[391,433,1202,1207,1218,1219],[391,433,1202,1207,1218],[391,433,1226],[391,433,1202,1208],[391,433,1202],[391,433,1204],[391,433,1202,1203,1204,1205,1206],[391,433,946],[391,433,945],[391,433,944],[391,433,946,948,949,950,951,952,953,954],[391,433,944,946],[391,433,946,947],[89,95,98,143,381,391,433],[89,90,385,391,433],[91,391,433],[89,99,381,391,433],[89,98,99,167,222,293,345,379,381,391,433],[89,95,98,99,380,391,433],[89,391,433],[137,142,163,391,433],[89,107,137,391,433],[111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,140,391,433],[89,110,139,380,381,391,433],[89,139,380,381,391,433],[89,98,99,132,137,138,380,381,391,433],[89,98,99,137,139,380,381,391,433],[89,139,380,391,433],[89,137,139,380,381,391,433],[110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,139,140,391,433],[89,109,139,380,391,433],[89,121,139,380,381,391,433],[89,121,137,139,380,381,391,433],[89,91,94,98,99,104,137,141,142,143,145,148,149,150,152,158,159,163,391,433],[89,98,99,137,141,143,158,162,163,391,433],[89,137,141,391,433],[108,109,132,133,134,135,136,137,138,141,150,151,152,158,159,161,162,164,165,166,391,433],[89,98,137,141,391,433],[89,98,133,137,391,433],[89,98,137,152,391,433],[89,94,97,98,137,146,147,152,159,163,391,433],[153,154,155,156,157,160,163,391,433],[89,94,95,97,98,104,132,137,139,146,147,152,154,159,160,163,391,433],[89,94,98,104,141,150,157,159,163,391,433],[89,98,99,137,143,146,147,152,159,391,433],[89,98,144,146,147,391,433],[89,98,146,147,152,159,162,391,433],[89,90,94,97,98,99,104,137,141,142,146,147,150,152,159,163,391,433],[94,95,96,97,98,99,104,137,141,142,152,157,162,391,433],[89,94,95,97,98,99,137,139,142,146,147,152,159,163,381,391,433],[89,98,109,137,391,433],[89,90,91,99,107,143,144,151,159,163,391,433],[94,97,98,391,433],[89,95,108,131,132,134,135,136,138,139,380,391,433],[94,98,108,132,134,135,136,137,138,141,142,162,167,380,381,391,433],[89,98,391,433],[89,97,98,99,104,139,142,160,161,380,391,433],[89,92,94,95,96,99,107,143,146,380,381,382,383,384,391,433],[197,205,218,391,433],[89,98,197,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,200,391,433],[89,199,380,381,391,433],[89,99,199,380,381,391,433],[89,98,99,197,198,380,381,391,433],[89,98,99,197,199,380,381,391,433],[89,99,197,199,380,381,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,199,200,391,433],[89,179,199,380,381,391,433],[89,99,187,380,381,391,433],[89,91,94,98,99,143,197,204,205,210,211,212,213,215,218,391,433],[89,98,99,143,197,199,202,203,208,209,215,218,391,433],[89,197,201,391,433],[168,194,195,196,197,198,201,204,210,212,214,215,216,217,219,220,221,391,433],[89,98,197,201,391,433],[89,98,197,205,215,391,433],[89,94,98,99,146,197,199,210,215,218,391,433],[203,206,207,208,209,218,391,433],[89,90,95,98,104,146,147,197,199,207,208,210,215,218,391,433],[89,94,204,206,210,218,391,433],[89,98,99,143,146,197,210,215,391,433],[89,90,94,97,98,99,104,146,194,197,201,204,205,210,215,218,391,433],[94,95,96,97,98,99,104,197,201,205,206,215,217,391,433],[89,90,94,98,99,146,197,199,210,215,218,381,391,433],[89,197,217,391,433],[89,90,91,98,99,143,210,214,218,391,433],[94,97,98,104,207,391,433],[89,95,168,193,194,195,196,198,199,380,391,433],[94,168,194,195,196,197,198,205,206,217,222,385,391,433],[89,97,98,104,201,205,207,216,380,391,433],[89,91,92,99,143,276,283,391,433,491,492],[391,433,492,493],[89,90,92,98,99,143,277,283,287,293,331,391,433,491],[94,95,98,381,391,433],[264,270,287,391,433],[89,107,264,391,433],[224,225,226,227,228,230,231,232,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,267,391,433],[89,234,266,380,381,391,433],[89,266,380,381,391,433],[89,99,266,380,381,391,433],[89,98,99,259,264,265,380,381,391,433],[89,98,99,264,266,380,381,391,433],[89,266,380,391,433],[89,99,229,266,380,381,391,433],[89,99,264,266,380,381,391,433],[224,225,226,227,228,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,266,267,268,391,433],[89,233,266,380,391,433],[89,236,266,380,381,391,433],[89,264,266,380,381,391,433],[89,229,236,264,266,380,381,391,433],[89,99,229,264,266,380,381,391,433],[89,91,94,98,99,143,264,269,270,271,272,273,274,275,277,282,283,286,287,391,433],[89,98,99,143,202,264,269,277,282,286,287,391,433],[89,264,269,391,433],[223,233,259,260,261,262,263,264,265,269,275,276,277,282,283,285,286,288,289,290,292,391,433],[89,98,264,269,391,433],[89,98,260,264,391,433],[89,98,99,264,277,391,433],[89,90,94,97,98,104,146,147,264,277,283,287,391,433],[274,278,279,280,281,284,287,391,433],[89,90,94,95,97,98,104,146,147,259,264,266,277,279,283,284,287,391,433],[89,94,98,269,275,281,283,287,391,433],[89,98,99,143,146,147,264,277,283,391,433],[89,98,146,147,277,283,286,391,433],[89,90,94,97,98,99,104,146,147,264,269,270,275,277,283,287,391,433],[94,95,96,97,98,99,104,264,269,270,277,281,286,391,433],[89,90,94,95,97,98,99,104,146,147,264,266,270,277,283,287,381,391,433],[89,98,99,233,264,268,286,391,433],[89,90,91,99,107,143,144,276,283,287,391,433],[94,97,98,104,284,391,433],[89,95,223,258,259,261,262,263,265,266,380,391,433],[94,98,223,259,261,262,263,264,265,269,270,286,293,380,381,391,433],[291,391,433],[89,97,98,99,104,266,270,284,285,380,391,433],[89,107,391,433],[94,95,96,98,99,380,381,391,433],[89,95,98,99,102,381,385,391,433],[380,391,433],[385,391,433],[323,341,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,325,391,433],[89,324,380,381,391,433],[89,99,324,380,381,391,433],[89,99,323,380,381,391,433],[89,98,99,323,324,380,381,391,433],[89,99,323,324,380,381,391,433],[89,99,107,324,380,381,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,324,325,391,433],[89,304,324,380,381,391,433],[89,99,312,380,381,391,433],[89,91,94,98,143,323,330,333,334,335,338,340,341,391,433],[89,98,99,143,202,323,324,327,328,329,340,341,391,433],[320,321,322,323,326,330,335,338,339,340,342,343,344,391,433],[89,98,323,326,391,433],[89,323,326,391,433],[89,98,323,340,391,433],[89,94,98,99,146,323,324,330,340,341,391,433],[327,328,329,336,337,341,391,433],[89,95,98,146,147,323,324,328,330,340,341,391,433],[89,94,330,335,336,341,391,433],[89,90,94,97,98,99,104,146,323,326,330,335,340,341,391,433],[94,95,96,97,98,99,104,323,326,336,340,391,433],[89,94,98,99,146,323,324,330,340,341,381,391,433],[89,323,391,433],[89,90,91,98,99,143,330,339,341,391,433],[94,97,98,104,337,391,433],[89,95,319,320,321,322,324,380,391,433],[94,98,320,321,322,323,345,380,381,391,433],[89,91,92,99,143,330,332,339,391,433],[89,90,92,98,99,143,330,331,340,341,391,433],[98,381,391,433],[100,101,391,433],[103,105,391,433],[98,104,381,391,433],[98,102,106,391,433],[89,93,94,95,97,99,381,391,433],[351,372,377,391,433],[89,98,372,391,433],[347,367,368,369,370,375,391,433],[89,99,374,380,381,391,433],[89,98,99,372,373,380,381,391,433],[89,98,99,372,374,380,381,391,433],[347,367,368,369,370,374,375,391,433],[89,99,366,372,374,380,381,391,433],[89,374,380,381,391,433],[89,99,372,374,380,381,391,433],[89,91,94,98,99,143,351,352,353,354,357,362,363,372,377,391,433],[89,98,99,143,202,357,362,372,376,377,391,433],[89,372,376,391,433],[346,348,349,350,354,355,357,362,363,365,366,372,373,376,378,391,433],[89,98,372,376,391,433],[89,98,357,365,372,391,433],[89,94,97,98,99,146,147,357,363,372,374,377,391,433],[358,359,360,361,364,377,391,433],[89,94,97,98,99,104,146,147,348,357,359,363,364,372,374,377,391,433],[89,94,354,361,363,377,391,433],[89,98,99,143,146,147,357,363,372,391,433],[89,98,144,146,147,363,391,433],[89,90,94,97,98,99,104,146,147,351,354,357,363,372,376,377,391,433],[94,95,96,97,98,99,104,351,357,361,365,372,376,391,433],[89,94,97,98,99,146,147,351,357,363,372,374,377,381,391,433],[89,90,91,98,143,144,146,355,356,363,377,391,433],[94,97,98,104,364,391,433],[89,95,346,348,349,350,371,373,374,380,391,433],[89,372,374,391,433],[94,98,346,348,349,350,351,365,372,373,379,391,433],[89,97,98,104,351,364,374,380,391,433],[89,96,98,99,381,391,433],[91,92,95,98,381,391,433],[391,433,1245,1246],[391,433,1245,1246,1247,1248],[391,433,1245,1247],[391,433,1245],[391,433,942,943,944,946,955],[391,433,942],[391,433,962,963,964],[391,433,962,963],[391,433,962],[391,433,517],[391,433,504,508,516,876,880,881,882,883],[391,433,504,508,876,880,881],[391,433,876],[391,433,885],[391,433,513],[391,433,833],[391,433,835,836,837,838],[391,433,782,844,845],[391,433,554,555,557,569,593,708,719,826],[391,433,557,588,589,590,592,826],[391,433,557,725,727,729,730,732,826,828],[391,433,557,591,628,826],[391,433,555,557,568,569,575,581,586,707,708,709,718,826,828],[391,433,826],[391,433,564,570,589,609,704],[391,433,557],[391,433,550,564,570],[391,433,736],[391,433,733,734,736],[391,433,733,735,826],[391,433,448,609,806,823],[391,433,448,680,683,699,704,823],[391,433,448,652,823],[391,433,712],[391,433,711,712,713],[391,433,711],[391,433,448,544,550,557,569,575,581,587,589,593,594,607,608,675,705,706,719,826,830],[391,433,554,557,591,628,725,726,731,826,878],[391,433,591,878],[391,433,554,608,777,826,878],[391,433,878],[391,433,557,591,592,878],[391,433,728,878],[391,433,594,707,710,717],[391,433,538,782],[391,433,459,564,579],[391,433,564,579],[391,433,538,649],[391,433,538,579],[391,433,538,570,579,782],[391,433,564,635,649,650,860,867],[391,433,634,861,862,863,864,866],[391,433,685],[391,433,685,686],[391,433,568,570,637,638],[391,433,570,644,645],[391,433,570,639,647],[391,433,644],[391,433,562,570,637,638,639,640,641,642,643,644,647],[391,433,570,637,644,645,646,648],[391,433,570,638,640,641],[391,433,638,640,643,645],[391,433,865],[391,433,570],[391,433,538,558,854],[391,433,476,538],[391,433,538,591,626],[391,433,538,591,719],[391,433,624,629],[391,433,538,625,832],[391,433,448,538,542,545,546,549,830,874],[391,433,448,570],[391,433,448,569,574,655,672,714,715,719,774,776,826,827],[391,433,607,716],[391,433,830],[391,433,556],[391,433,538,561,564,779,795,797],[391,433,459,564,779,794,795,796,877],[391,433,788,789,790,791,792,793],[391,433,790],[391,433,794],[391,433,579,743,744,746],[391,433,538,570,737,738,739,740,745],[391,433,743,745],[391,433,741],[391,433,742],[391,433,538,579,625,832],[391,433,538,579,831,832],[391,433,538,579,832],[391,433,672,673],[391,433,673],[391,433,448,827,832],[391,433,702],[391,432,433,701],[391,433,564,570,576,578,680,693,697,699,776,779,815,816,823,827],[391,433,570,619,641],[391,433,680,691,694,699],[391,433,538,561,564,680,683,699,702,736,783,784,785,786,787,798,799,800,801,802,803,804,805,878],[391,433,561,564,589,680,687,688,689,692,693],[391,433,465,570,589,691,698,779,780,823],[391,433,695],[391,433,448,459,558,570,574,584,616,617,620,672,675,740,774,775,815,826,827,828,830,878],[391,433,561,562,564],[391,433,680],[391,432,433,589,616,617,674,675,676,677,678,679,827],[391,433,699],[391,432,433,563,564,574,578,614,680,687,688,689,690,691,694,695,696,697,698,816],[391,433,448,614,615,687,827,828],[391,433,589,617,672,675,680,776,827],[391,433,448,826,828],[391,433,448,465,823,827,828],[391,433,448,459,550,564,569,576,578,581,584,591,611,616,617,618,619,620,655,656,658,661,663,666,667,668,669,671,719,774,776,823,826,827,828],[391,433,448,465],[391,433,557,558,559,587,823,824,825,830,832,878],[391,433,554,555,826],[391,433,748],[391,433,448,465,476,566,732,736,737,738,739,740,746,747,878],[391,433,459,476,550,564,566,578,581,617,656,661,671,672,725,752,753,754,760,763,764,774,776,823,826],[391,433,581,587,594,607,617,675,826],[391,433,448,476,558,569,578,617,758,823,826],[391,433,778],[391,433,448,748,761,762,771],[391,433,823,826],[391,433,677,816],[391,433,578,616,719,832],[391,433,448,459,556,661,721,725,754,760,763,766,823],[391,433,448,594,607,725,767],[391,433,557,618,719,769,826,828],[391,433,448,476,740,826],[391,433,448,591,618,719,720,721,730,748,768,770,826],[391,433,448,544,616,773,830,832],[391,433,670,774],[391,433,448,459,564,567,569,570,576,578,584,593,594,607,617,620,656,658,668,671,672,719,752,753,754,755,757,759,774,776,823,832],[391,433,448,465,594,760,765,771,823],[391,433,597,598,599,600,601,602,603,604,605,606],[391,433,611,662],[391,433,664],[391,433,662],[391,433,664,665],[391,433,448,568,569,570,574,575,827],[391,433,448,459,556,558,576,580,616,619,620,654,774,823,828,830,832],[391,433,448,459,476,560,567,568,578,580,617,772,816,822,827],[391,433,687],[391,433,688],[391,433,570,581,815],[391,433,689],[391,433,563],[391,433,565,577],[391,433,448,565,569,576],[391,433,572,577],[391,433,573],[391,433,565,566],[391,433,565,621],[391,433,565],[391,433,567,611,660],[391,433,659],[391,433,564,566,567],[391,433,567,657],[391,433,564,566],[391,433,616,719],[391,433,815],[391,433,448,476,576,578,582,616,719,773,776,779,780,781,807,808,811,814,816,823,827],[391,433,630,633,635,636,649,650],[391,433,538,547,549,579,809,810],[391,433,538,547,549,579,809,810,813],[391,433,703],[391,433,589,610,615,616,680,681,682,683,684,686,699,700,702,705,773,776,826,828],[391,433,649],[391,433,448,654,823],[391,433,654],[391,433,448,576,622,651,653,655,773,823,830,832],[391,433,630,631,632,633,635,636,649,650,831],[391,433,448,459,476,544,565,566,578,584,616,617,620,719,771,772,774,823,826,827,830],[391,433,561,564,571],[391,433,615,617,749,752],[391,433,615,750,817,818,819,820,821],[391,433,448,611,826],[391,433,448],[391,433,614,699],[391,433,613],[391,433,615,668],[391,433,612,614,826],[391,433,448,560,615,749,750,751,823,826,827],[391,433,538,564,570,648],[391,433,538,562],[391,433,552,553],[391,433,538,558],[391,433,538,564,634],[391,433,538,544,616,620,830,832],[391,433,558,854,855],[391,433,538,629],[391,433,459,476,538,556,623,625,627,628,832],[391,433,564,591,827],[391,433,564,756],[391,433,446,448,459,538,554,556,629,727,830,831],[391,433,538,545,546,549,830,875],[391,433,538,539,540,541,542],[391,433,438],[391,433,722,723,724],[391,433,722],[391,433,448,450,459,483,538,542,545,546,547,549,550,556,584,589,766,794,828,829,832,875],[391,433,840],[391,433,842],[391,433,846],[391,433,848],[391,433,850,851,852],[391,433,856],[391,433,543,834,839,841,843,847,849,853,857,859,869,870,872,876,877,878,879],[391,433,858],[391,433,868],[391,433,625],[391,433,871],[391,432,433,615,749,750,752,817,818,820,821,873,875],[391,433,483],[391,433,483,485,486,487],[391,433,465,483,485],[391,433,901],[391,433,902],[391,433,509],[391,433,510],[391,433,465,483],[391,433,1191,1192],[391,433,448,483,973,974,975,1191],[391,433,1191],[391,433,483,1191],[391,433,445,448,483,973,978,979,1191],[391,433,973,976,1190,1191],[391,433,1190,1191],[391,433,985,986,988,997,998,1000,1001,1002,1005,1007,1009,1010,1014,1015,1026,1028,1029,1031,1032,1033,1034,1035,1041,1042,1043,1044,1045,1046,1076,1077,1079,1080,1081,1082,1083,1085,1091,1145,1146,1147,1148,1150,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1190],[391,433,976,977],[391,433,976,977,982,991,994,995,998,999,1000],[391,433,976,977,982],[391,433,976,977,982,990,1001,1026,1027,1031],[391,433,1168,1190],[391,433,976,977,982,1025],[391,433,1004,1005,1006,1007,1008,1009,1010,1011,1012,1015,1024,1027,1028,1031],[391,433,982,1001,1091],[391,433,976,977,982,984,1091],[391,433,1092],[391,433,976,977,1091],[391,433,976,977,982,1075,1082,1094],[391,433,976,977,982,1075,1091],[391,433,983,984,1092,1093,1094,1095,1096,1097,1098,1190],[391,433,976,977,982,983],[391,433,976,977,982,990],[391,433,1100,1101,1190],[391,433,976,977,1100],[391,433,1001],[391,433,976,977,982,990,1001,1002,1005,1007,1026,1028,1029,1030,1032,1035,1091],[391,433,1086,1190],[391,433,976,977,982,985,986,988,1000,1001,1032,1033,1077,1081,1082,1084,1085,1091],[391,433,1103,1104,1105,1190],[391,433,976,977,982,1103,1104],[391,433,976,977,982,1103],[391,433,976,977,982,1031,1034,1091],[391,433,982,987,988,1099],[391,433,976,977,982,987,988,989,1081,1082,1088,1091,1099],[391,433,982,1082,1083,1087,1091],[391,433,1007,1026,1032,1091],[391,433,976,977,982,987,992,1000,1008,1030,1035,1075,1077,1088,1089,1090],[391,433,992,993,1001,1014],[391,433,985,986,1091],[391,433,976,977,982,998,1026,1031,1032],[391,433,976,977,982,1036],[391,433,976,1037],[391,433,1036,1037,1038,1190],[391,433,976,977,982,985,986,987,988,990,991,994,998,999,1000,1001,1002,1005,1007,1008,1009,1010,1013,1014,1015,1024,1027,1028,1029,1030,1031,1032,1033,1035,1039,1041,1043,1044,1075,1076,1077,1080,1082,1083,1085,1087,1089,1091,1099,1102,1106,1112,1115,1120,1123,1127,1129,1137,1141,1144,1145,1146,1147,1148,1149],[391,433,992,993],[391,433,982,1026,1028],[391,433,976,977,982,998],[391,433,976,977,982,996,997],[391,433,976,1107],[391,433,976,977,982,1091,1107,1108],[391,433,1107,1108,1109,1110,1111,1190],[391,433,976,977,1091,1109],[391,433,1170,1190],[391,433,982],[391,433,1113,1114,1190],[391,433,976,977,982,1113],[391,433,976,977,982,987,988,1041,1075,1082,1091],[391,433,982,987,1041,1077,1099],[391,433,976,977,982,1031,1032,1079,1082],[391,433,976,977,982,987,988,990,1000,1001,1030,1032,1033,1035,1075,1077,1078,1080,1081,1091,1099],[391,433,976,977,982,1016,1019,1020,1022,1026],[391,433,976,977,982,1016,1018],[391,433,976,977,982,998,1022,1026],[391,433,1016,1017,1018,1019,1020,1021,1022,1023,1190],[391,433,976,977,982,998,1017],[391,433,976,977,982,1019],[391,433,976,977,982,1016,1019,1020,1021,1023,1026],[391,433,982,988,1041],[391,433,976,977,1035],[391,433,976,977,1191],[391,433,976,977,982,1002,1035],[391,433,976,977,982,990,1001,1003,1029,1030,1031,1033,1035,1091],[391,433,976,977,982,990,1000,1001,1081,1084],[391,433,976,977,982,994,1026,1028],[391,433,982,998],[391,433,976,977,982,1043],[391,433,1039],[391,433,976,977,982,1040,1041,1042],[391,433,976,977,982,985,1091],[391,433,976,977,982,987,988,990,1001,1075,1076,1077,1082,1084,1091],[391,433,976,977,982,1031,1032],[391,433,1116,1117,1118,1119,1190],[391,433,976,977,982,1035],[391,433,976,977,982,1118],[391,433,976,977,982,1006,1026,1031,1032],[391,433,1121,1122,1190],[391,433,982,1031,1124],[391,433,1124,1125,1126],[391,433,982,1007,1009,1124,1125],[391,433,976,977,982,990,1001,1002,1030,1032,1033,1035,1091],[391,433,976,977,982,990,1001,1002,1030,1032,1034,1035,1091],[391,433,976,977,982,1042],[391,433,1128,1190],[391,433,1014],[391,433,976,977,982,1013],[391,433,976,977,982,987,988,1041,1044],[391,433,976,977,982,987,988,990,1000,1001,1030,1033,1035,1045,1075,1076,1082,1091],[391,433,976,977,982,985,986,988,990,1000,1001,1035,1041,1044,1075,1077,1091],[391,433,976,977,982,1131],[391,433,1130,1131,1132,1133,1134,1135,1136,1190],[391,433,976,977,982,1135],[391,433,976,977,982,990,1001,1091],[391,433,1056,1057,1138,1139,1140,1190],[391,433,976,977,982,1007,1031,1032,1033,1035,1056],[391,433,976,977,982,1046],[391,433,976,977,1008],[391,433,1047,1048,1049,1050,1055,1059,1074,1190],[391,433,976,977,982,1023],[391,433,976,977,1019],[391,433,1051,1052,1053,1054,1190],[391,433,976,977,1018],[391,433,976,977,982,1022],[391,433,976,977,1007],[391,433,1058,1190],[391,433,976,977,1057],[391,433,976,977,1068],[391,433,1069,1070,1071,1072,1073,1190],[391,433,976,977,1062],[391,433,976,977,1063],[391,433,976,977,1064],[391,433,976,977,1065],[391,433,976,977,982,992,993],[391,433,976,977,982,1014,1026],[391,433,982,1005,1007,1026],[391,433,976,977,982,1001,1006,1026,1031],[391,433,976,977,982,1067],[391,433,976,977,982,1142],[391,433,976,977,982,1002,1067],[391,433,1060,1061,1062,1063,1064,1065,1066,1067,1068,1142,1143,1190],[391,433,976,977,982,1010,1060,1062,1063,1067],[391,433,976,977,982,1024,1060,1061,1062,1063,1064,1065,1067,1068],[391,433,976,977,982,1024,1060,1061,1062,1063,1064,1065,1066,1068],[391,433,1173,1174,1175,1176,1190],[391,433,976,977,982,1178,1180,1182,1190],[391,433,976,977,982,1172,1179],[391,433,976,977,982,1181],[391,433,976,977,982,1178],[391,433,976,977,982,1172,1186],[391,433,974,976,977,982,1099,1188],[391,433,1179,1181,1183,1184,1185,1186,1187,1190],[391,433,1172,1177,1188,1190],[391,433,981],[391,433,973,974,975,976,977,978,980,982,985,986,987,988,989,990,991,992,993,994,995,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1039,1040,1041,1042,1043,1044,1045,1046,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1087,1088,1089,1090,1091,1099,1102,1106,1112,1115,1120,1123,1129,1137,1141,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1161,1162,1163,1164,1165,1167,1169,1171,1189,1191,1192,1193],[391,433,976,1190,1191],[391,433,445,483,973,974,976,1190,1192],[391,433,978,980,1150],[391,433,923,924],[391,433,923],[391,433,923,924,925,926],[391,433,921,927],[391,433,927],[391,433,921,922],[391,400,404,433,476],[391,400,433,465,476],[391,395,433],[391,397,400,433,473,476],[391,433,453,473],[391,395,433,483],[391,397,400,433,453,476],[391,392,393,396,399,433,445,465,476],[391,400,407,433],[391,392,398,433],[391,400,421,422,433],[391,396,400,433,468,476,483],[391,421,433,483],[391,394,395,433,483],[391,400,433],[391,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,422,423,424,425,426,427,433],[391,400,415,433],[391,400,407,408,433],[391,398,400,408,409,433],[391,399,433],[391,392,395,400,433],[391,400,404,408,409,433],[391,404,433],[391,398,400,403,433,476],[391,392,397,400,407,433],[391,433,465],[391,395,400,421,433,481,483],[391,433,1213],[391,433,1213,1214,1215,1216],[391,433,1215],[391,433,1211,1234,1235,1237],[391,433,1211,1212,1224,1237],[391,433,1202,1209,1211,1212,1220,1237],[391,433,1217],[391,433,1202,1211,1212,1220,1233,1236,1237],[391,433,1211,1212,1217,1220,1237],[391,433,1211,1234,1235,1236,1237],[391,433,1211,1217,1221,1222,1223,1237],[391,433,1202,1207,1209,1211,1212,1217,1220,1221,1222,1223,1224,1225,1227,1233,1234,1235,1236,1237,1238,1241,1242,1243,1244,1249],[391,433,1202,1209,1211,1212,1220,1221,1234,1235,1236,1237,1242],[391,433,940],[391,433,930,931],[391,433,928,929,930,932,933,938],[391,433,929,930],[391,433,938],[391,433,939],[391,433,930],[391,433,928,929,930,933,934,935,936,937],[391,433,928,929,940],[391,433,958,1250],[391,433,530,535,920,958,959,1199,1250],[391,433,920,958,1250],[391,433,530,534,535,918],[391,433,535,919,958,959,1199],[385,391,433,530,535,920,959],[391,433,446,530,920,957],[391,433,959,961,966,968,969,970,971,972,1195,1196,1197,1198],[385,391,433,530,535,920,941,959,967],[385,391,433,530,941,959,967],[385,391,433,438,530,920,941,959,967],[391,433,941,959],[391,433,959,960],[385,391,433,530,920,941,959],[385,391,433,530,920,941,958,959,1194],[385,391,433,530,535,920,941,959,965],[391,433,919,920,927,941,958],[385,391,433,517,518,530,909,914],[391,433,884,888,915],[385,391,433,530,884,886,887],[391,433,888,915,916,917],[391,433,916],[391,433,491,494,528],[385,391,433,519,520,521,522,523,526,527,528,529],[293,385,391,433,519],[293,391,433,517,518,909],[293,385,391,433,519,520],[391,433,519,520,521,522,523,524,525,526,527],[293,385,391,433,519,521],[293,391,433]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"3c40bfcdb2f9caa668915ab6549394dbbfefad138941adc6fed4af7f08dbca4b","4186faf88971f4f44ff692ade4760dfd2a836036a891fcb6b0b86511408a9696","209e0cf5b5aab3fce77037d81ea9907de76c4f48cd2bec9206721e5ca2e30a66","631f54d28ec8d294dace350d5b385b2564a675eabf50b2c947e4c4e94f511eb5","6f8c07cab249637c73f97fbfbb91f2e9dc2473481301f8c941934f98dcefe6e7","ab124a5aad23e3d5fedb46147202e6181e4cc456b5bcdbda0e614b95c965137f","ab6f292752a85f6ac96f2462c3d0e6cd7533c0ab38c84f62194c6d889042b65c","e765b9a082d3d63308f58fb501a715948b54169769f8f557ca9e918f69a50000","7d177699d04802bdee4b7f7252b78fb058f0c7c8ace28d99b2c29c1f73e46876","7454abd4af4a3a2222b78b567d1040dad5bca07690dda1929b057966b251398c","f11511b8e652f4649c0bd159cdc70a570fcbb7ea61842ed5dae45df5fd39d5aa","37d66a2a88cec7e13d9126db8e3a93cd1847ede86ecdd12e2be875a5891bb00a",{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"43e0d6f59701298bc7ad00e73386be01dec35a0a955db7585778f7defcda70c9","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"82805e8dbdf5f2605a4089c11a495acc7fb2f3d3eebbe510a4c8c0f60f4201c0","impliedFormat":99},{"version":"fc845b205d5d21ea7f9dabbe7d354ada72232e29a819abb23aeb3cfb512f7c4f","signature":"52582c5e22763a44f50a43efc983e5cbefbdb05386719c916cde97bda7c4cc61"},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"dad97c99382889e9c7d1a9d8275500ff71235130fae9f8916fdbf3641d56e592","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"6715dc4eb59c8ea9abe2b78c235ed331dc710a06fe56798868dbc4d40cd1b707","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"6a78643fbbf1b0bd954a53d4edfa217b6a5f92d357fa9cdf8d2ee430f96b9472","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},{"version":"aeae6c24b13d1a0c7bbc1aa2119ba91562c1b0ef89aa5aa41b1b6bb85a03887f","impliedFormat":99},"ba648d3565f6ce0bee78c3e260cfb4be4e048337cf35f8d6c5004b2ad716a8ec",{"version":"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","impliedFormat":1},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"3a5cda2463d20d696dfc87fcdfc4066307802cd6a07fb73932280446c7cb74f3","impliedFormat":99},{"version":"c1c545c407e4ad166b8285ae063ffffdc8f33ac38504acbaae8cc5692b9da7bb","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"ffd8877d71bd60e6490cd30b26a070f5ae29427477965e60c71394e1545e214f","impliedFormat":99},{"version":"f9fa0f246d000ebe3a77dee7c66db017ca7b65ae76a3a026fe36356bc7815a5d","impliedFormat":1},{"version":"0fcd9cd895e08e23c26d4819de6be35c3880ac703670702416fc284c65d3e180","impliedFormat":1},{"version":"f4272c1409ba5ce42d17be35575083f37dfe282284cc5e350d5fa60481ff44eb","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"5589e7f5a94a87a8dfc60e7bc81a610376925053a659f183606c3d76d3f92f84","impliedFormat":99},{"version":"d4a98ba517f71f7b8ab85f158859cdfc42ad9926e8623fc96337014e5d4dbb5b","impliedFormat":99},{"version":"94c33d70bcda3c3f98b8262340cd528344142133dbc8fcc7e2d4b2589b185db7","impliedFormat":99},{"version":"d11667aa2a6063fde3c4054da9ab98e3b9bc7e3da800beaca437f1eff2a17fe2","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},"9b00004223536f78a56330398085a40cda4353ee2a7ae0410b6b57b744631750","b6c4af381aeb14d9c3722740cb68b3785f9972846e342e01bff74a6c77aa40bb","b7a8dfbc891f85864b7939446a90cfae4ac5015e2866cff9acba98e04e7a699c","6d1ffdaaaee9e8bad5965757604cde9ff5ddc170f466e1bed4d3db19e71f7c6d",{"version":"0bdf38eb78698f7159187e09a1dddfc9115a57118e0f9bef99a1509394062826","signature":"f9394ccabd0720c0a5c3e9cadbd670a5a2fa7b889ab057403b0bfbc4c112c423"},{"version":"e45c2c8e531449a9746c3dc9f55fc2b9648d49757a65f25cfa3b916cd022befa","impliedFormat":99},{"version":"2883531900a29e3c7e6f8bf3a7835bce035cfb20748d8d0cfc287896c46d739e","impliedFormat":99},{"version":"22d5bafc272a4f1b6bd1aee054f08ac09a9cd90ea1a321fb9c563ae4fa3df6d4","impliedFormat":99},{"version":"c8c94fc39100a0981f81b9e9872848597575b3e3fb40a36e99de688927cb20ed","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"3f12ba187e0dc6d3586fc24a52aa80c11e8e84eb742122735bbc6f3a91044d8a","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"a82f5ba70d26e6ad9d432ab7556506d807c49f35a44af99fb8054004220aaaa1","impliedFormat":1},{"version":"cb8322706a9add2401f2b8e2dc31764e134d2497174c0be11e7e34e153aef1f0","signature":"d28bfb06cdf8bf857768bd00cf4a5980640f1b34de90a9b022b3715ccea4e49a"},{"version":"713fbbdbafdf34845ea1cb4f325855bd254648b5276ca6ff10059fabfb5d44e8","signature":"f1b4e4b6efd857989e6e4cc67ec435119fb2eab03a0977dc4972866b4578c590"},"443a5a0d373bd9363d8b299c1b60058b52930b343882de914596bdeb9dcc1a1e","86e5cb482fd2079e0f67b56004b085936d578b4ffa969ebd79a579944234272a",{"version":"48d6a957471129b99d914308ac07c534f97d9570be0ef18a9e6dbee803f59671","impliedFormat":1},{"version":"fd530c5bec0ec673875c3ca88020ad1d6cf724c536f3a8e4d25d7b096e88e645","impliedFormat":1},{"version":"90c7a9fda73928cef9023a41be545fce208546175e5b45bd988f24d4522c2a7b","impliedFormat":1},{"version":"46b55a125d671d7e1eca131a993aa0f6966a4c10e015870d430383ccb464769a","impliedFormat":1},"6db771506699f29e02a333e59dec53d466a2923efb44566691f6dfada7b80519","63b03c89d190542c76121edbdeb3283a49a7f5e5910e4fcf335a4bed996c4ebb","4c704d8b394b9af6ad054d8aef09a8ef235ee12cfa68ac0a5cc1374cbad43909","fd1029472ddfdf7b174c569dc19a7b8f3f61376f12ffe5d2646d3b280e3077ea","fe26007f9642b14f162e3f5d9a8f177334c37e7c87c2f987ac7d4f5dfddae27a","ca9c9a1b715a78e1f24a36a616fb8d11580590658e9b47b46448c2e6100b5185","fbee849b028b51d444ab792c1d6f97f408756b0a720a60de0a38acc49b45ef81",{"version":"529e8d544daef015d9b7e08f3327f487ff5c1fdc9ae00969b90fe6d7f662c410","impliedFormat":99},{"version":"32d72e24ec52676fbd422d6109ba2e7326f8cb0ae09d62433609994d772b1218","impliedFormat":99},{"version":"68d7aecae568155de73f47abea696482d07d82e531829d344b5b4f2feaffc9b7","impliedFormat":99},{"version":"94c34f6addbb8215972c16680f4e122977830a4a6b72a191302915f6e6fbcacb","impliedFormat":99},{"version":"97c9b25718cea0d37894c5dd9f7e7fff4f8bcbc56ca3bba011c074560be291f1","impliedFormat":99},{"version":"abfdbcd2e417125d1b38209aa079bfec08b42611feedaebf29be8676e74c43cc","impliedFormat":99},{"version":"6d7a5d9f2190bd6d5086a130b3ef5231d7bc8a3d923133628544b265611a3afc","impliedFormat":99},{"version":"9d8acc6859de780646cb2ad73bf0b48f20f83adab18d614ba9b4f87c6046b6bd","impliedFormat":99},{"version":"7debb6b27ee0e7383618739a56fd13d9332d58a97eb1001f57ec2d4c1f133536","impliedFormat":99},{"version":"828968bfd8325c1e6b427043673be3aee122dd5125ea5ff3adcdb56cb62ac202","impliedFormat":99},{"version":"29862235bb48e3e8892a5e95aa464810a6c0282ca549f4c0f65cc2329c4ed90a","impliedFormat":99},{"version":"6b1af69b824a18b7f06a0637a1799f6697d0e0af215a2e70c7438b7413d408bf","impliedFormat":99},{"version":"3ec9cc0d5ff3509a3800802248b56f72d0bd4ddbbf4ced7238ced162f6792bf9","impliedFormat":99},{"version":"b09e328891c9b6c1e363a0dabc2b7e9bbab7ce95f4c1a42e3ebc1cb957aebe2e","impliedFormat":99},{"version":"853230b380bc84877c7e691af167bde176c500e716074acb02668713ae1b92f7","impliedFormat":99},{"version":"a861ffb4131dc6c01a9918b0c2d9eb907963a363019c8cf8441c195cc7271eb3","impliedFormat":99},{"version":"7dbfd2dc59802603b4d9d9cd35bfa777da1cd030ffc78f618701772d70c44d7a","impliedFormat":99},{"version":"0d40d64f4e5b821a820ca61cd3338fed6feaea4734081098ab99bf8b22b7a558","impliedFormat":99},{"version":"441d1761b0cdea56381964395929a7dc78cc8294f07550a4a7cbd7a471982d49","impliedFormat":99},{"version":"0a5ea01b61f08bb7fe4aee10e148a43bd63cd09c0e48c80c81853a31c63e81f1","impliedFormat":99},{"version":"0765436722d07c50dd64a72cb2ca2b828ae4d8b6c58cce1c7d69b16ed69b911f","impliedFormat":99},{"version":"a99b58cde0c933aafa9a6d539796dd39a2b6faa5868b9329611b7820e4813ed2","impliedFormat":99},{"version":"b70468dd5cce06b4500b9c744b46645bb0810bbb3f16d6f6d8a6ba099d3e3db3","impliedFormat":99},{"version":"fcad406a5312d678f0e3d9ce37e175fc3108075dda7507b33de434d815db8c3a","impliedFormat":99},{"version":"637470d7618d80acc44ce21720e911b1956fb8f35fcd7c29fca8b676569257fd","impliedFormat":99},{"version":"bbc35778ba8327cc2595d22a0492b38a4f5a23c156fe83a4f6c16e16d771a80d","impliedFormat":99},{"version":"1bf505b116e5c3adb7a621d3177726ec218b39b6fbb343a5ca9131bb4c4e4a2e","impliedFormat":99},{"version":"f8f793150b733a84ba31dc32b764f914c2b9f7ba3da22392c8700729556311de","impliedFormat":99},{"version":"52308301ab0721bea0c29c5a3286fc9af801f77107c76860958c7af512fe1db3","impliedFormat":99},{"version":"08c2ae2038dae5a129561b998d69712081de02df044668ef7c6f1a79064a781d","impliedFormat":99},{"version":"1e5ac74ec58a751a57547db79f5d0c7f55de7103b3cd608df9b865f1c20e6ec0","impliedFormat":99},{"version":"3217478b66cbc150f70691f22995b9f47d37706a904299a00cb293f8bed70a5b","impliedFormat":99},{"version":"757b25663615b67539b212022e464ab8738fe9584798abd2f1dfee3ae2bed28a","impliedFormat":99},{"version":"a4965dec5a8d5a1bd151f788d8e1e2300c4314907adc4b70e205df9bf1de1846","impliedFormat":99},{"version":"61da0187f4a66053b80903d118bcc49835a09085597419f001300e16190087b6","impliedFormat":99},{"version":"aba7430768196c0d2dda6ad7660d4bd1ce5abb9394d5ec506fddf897cd055c17","impliedFormat":99},{"version":"fef0d18210f7853a843ec8f6d8169ed6659d9cacb7a21b4e1ccc52d79cecf503","impliedFormat":99},{"version":"a20601b31b50dfe52cb6a3790977b2499dba3f590621a4a241b6b7a5a408b788","impliedFormat":99},{"version":"4d0d48b4534a83b374888c23427400974ad8e61c7d0e20c8b6e9f1ee1bc7a264","impliedFormat":99},{"version":"c89ecda51758810cde711384913cef5a52a609b120f7ff5b1b158781e8ef4a8c","impliedFormat":99},{"version":"b784c2ceea6c1279bff4ab353e5a5c5b358fde3c734fdecf85cc1db5cb44c93d","impliedFormat":99},{"version":"c08fb9233e497eb092616e3081963b6dd70103bba3ff633c072d6d944eae134e","impliedFormat":99},{"version":"3ce717047d8aa7993d8ac3c05c1719af4a4c7299bd7d2e9bda09a93b5fc3597c","impliedFormat":99},{"version":"6cabcbf5e998efa2549a3534d71f4535495687ad53f1fe345d055f5147421cb9","impliedFormat":99},{"version":"e36268446e141d540bd29d35391c14533d2de4562f2068dbfb14f5aade8813e2","impliedFormat":99},{"version":"a800401f4995f7c204a7b05fbf53224caa6f1fdc124f48aa0d0ee562cf0972d4","impliedFormat":99},{"version":"2ba4df558ac06d48bd02cc5e9c2d8a5afb3836f1d6dfbb6ff26e90b68b66e5e5","impliedFormat":99},{"version":"00780c8bb96ae1bbc2d2379b4c1ec281e708fe52ebfda507f24aa4e0c9789023","impliedFormat":99},{"version":"a73a5fd3317e948b66fa07917d15e09d94dec119897e1de780158d01cea83fd1","impliedFormat":99},{"version":"73ab4609ca508c47e721501314e36423f34f12a735fb04bbc65670a33be6ceae","impliedFormat":99},{"version":"1ae2b0f08ab3e4a81809202b17856d144be48ac64428917c7b54f5e1965a4a48","impliedFormat":99},{"version":"85d558cd59d2350273b116c240ead34786f00245c2bf147c65ffc79410e29a5e","impliedFormat":99},{"version":"816caf3469d8486812807a1eecf3b2bff4fa654abbbf07a97c4f553819ec5106","impliedFormat":99},{"version":"e25134537f026144b7cede6aea49973bed30afc37b36d1d36e6130888bc7d234","impliedFormat":99},{"version":"5c62f873da6df6521abedd307fc544d6736d04604ae168233a63e4ee38ddce51","impliedFormat":99},{"version":"58e0c95210443e453ee55336f21bb03e770430bd19722041a77a2e86fc73df95","impliedFormat":99},{"version":"0e5bf871c5afa81fd718a5b276f6a7670846ed459db52fa477267d6b9584e5d8","impliedFormat":99},{"version":"22ca8010367254aeee193d066acb7beba74fcb28c8e197bc4a4b4e4a6c3cbd54","impliedFormat":99},{"version":"a9dee488ffe1e2d5c36fcb6d051ddbab991490e1bc181824592af3e47b9590ae","impliedFormat":99},{"version":"691368eb85eb6dda063458d34b2061e66aceff8caa03305960ce1ce2596973a0","impliedFormat":99},{"version":"1b453d29404e04659bb343c2b3b1f4e5b0c980993b2b618683d748175c758798","impliedFormat":99},{"version":"991b5667ea0268fc249e7aaa8f61b546edf4ddfc5c75446b60bad452f323eb4f","impliedFormat":99},{"version":"f3c0ec27b2c3321fcea0bd90f06b3bbc036a4c53d56547a3546d3e98aa6dbabb","impliedFormat":99},{"version":"3240b3195a4a6f07397873c3d3d781d6bdac6daffef7d0e9404df25696b83821","impliedFormat":99},{"version":"8f15effea4aaabc51743128521875aba6e565e414f6d7d3311b8c2d2578e18a4","impliedFormat":99},{"version":"bd03a8a341fd6c86470267cdb4ffad025d1e31e2930c7b1b99cea0ea8ab1104c","impliedFormat":99},{"version":"db3f11cb9d283a2f6bd72d40f552921e7df63b33c8f953fc666c0c25f89a9544","impliedFormat":99},{"version":"f0c704f2d6e9a1c1af817d64c475e3060a6b61bdfe839b5d2080ea9305f09887","impliedFormat":99},{"version":"ba4471d25a0c25e54f245fbf35359e420fcd148594041a984ed021ac12c515c9","impliedFormat":99},{"version":"7ecccd7c8eb4c52bccfb5e30db1a681e6df544ffdb2e23c565b0e2765fa0c5bc","impliedFormat":99},{"version":"814ff646ef9d7ec28c867d20acdb6ab2ecc2e7620c4f06c8f5412c83e3518e7e","impliedFormat":99},{"version":"361753ee88631c6d574eceef6db3a2b73424517609fb289b37ee2b2f44762a3c","impliedFormat":99},{"version":"08fc36c68fbfb312a2a3378498c16c6db9609837cc00cd9aafeb778fb2887a03","impliedFormat":99},{"version":"b45410e6065c05621fcd1969b5afae0829cd4f0def82c8180b5302a283195798","impliedFormat":99},{"version":"74ddb9a384676ffa1e7910e5a50615c21afa55473e8f38bc38050ff2255c2d7f","impliedFormat":99},{"version":"f673abb24aaa4a63c541eef767d22e443799ddc5ab30a2269d646682a4946394","impliedFormat":99},{"version":"0c1d42ef8bcac5f74e1113e96712f5fded4971c452911263db62d98f9f51cb82","impliedFormat":99},{"version":"97e3516942284b694f1f503c8b27ecfebc229e7e190e99eb2b94da3059d0f81e","impliedFormat":99},{"version":"f0ca722c0c74e4ac885706e69e65291f8947ac5e7fae8df529cf70248bcee262","impliedFormat":99},{"version":"a90c4ed5b632a156a7682988502d5bfefc4048ff4c41d0fa505badc0c3892545","impliedFormat":99},{"version":"376eef489231c1d626a6f24d89c1029d907ad7918c0a7191419ee6be69cf90ab","impliedFormat":99},{"version":"84a68486a1e143e34a165bdc64707e74d33118a1c6adde37591223503d4e8870","impliedFormat":99},{"version":"71d6cca9ebf54d9b498f684827c00002b1cead83eb441356d49d4ce1c9759301","impliedFormat":99},{"version":"ed603cbd399f1e16d867c0498432a0c5a2be988e1162e311cfc188e919b08264","impliedFormat":99},{"version":"07012806da1431175d778c424b18c305f44bd83941851ce17d181cd46aaa3562","impliedFormat":99},{"version":"cc0af6c56da3ab10ddac0b3c805d652bf0521be6b04f83afb9baa4df1415b313","impliedFormat":99},{"version":"b7aeb363b1649acac16d5b469685e2a067ff4dc8b0b2125bca941dbb6d63e7c0","impliedFormat":99},{"version":"365add36523973ead594068a69de6a4aa5503bfed8eddd670414dfac63944876","impliedFormat":99},{"version":"83347d14f89b7d139ce2791c99b35d2b94440d76968393709964ced55b6fd85f","impliedFormat":99},{"version":"7c124c9680eb1e83dac58588d8adba36bf737ac6b3e84779b57fd2df143b137e","impliedFormat":99},{"version":"ae7cc7b326cfb2845cd76f39e445d68a5832ee3e9297615c296bb87f8f9f1c81","impliedFormat":99},{"version":"db70fa65c1194a3707ac38814e7c27321de530660b36c029bf2a4987ce89b319","impliedFormat":99},{"version":"ec22e0ef253901f5af0faf767e6a1a8bd23fb0308f282dd03b8da7097ba44973","impliedFormat":99},{"version":"63c818016d858b372d05593bfcfbf5ffcd8898e0a3877057b24f7de6a4fe9abc","impliedFormat":99},{"version":"4d9bb1151b6d71e58d9333ec33e2a20c09ce5baaf20b08d70f7ea1a4ded3c682","impliedFormat":99},{"version":"53580dd58259b91b24f63dc36083414558cab65cd622e88c3a6ba403c753c44a","impliedFormat":99},{"version":"5a72a1a08a5a56f38b2ef6a39dd31c59e0e9ba59c7d480dbdec8cac0c3d2c9c5","impliedFormat":99},{"version":"41dc9805e5387625abb6466f9dad47048aab6cfc4a49885a17a65e662ca6d055","impliedFormat":99},{"version":"aa39ccd035dcf30f31ae0cd380e4d9e265c24e4e0914cd2e7862a392d74314b3","impliedFormat":99},{"version":"fde1d645673ad1273c0a347e97528e7830f4877c1fc58966a4a7ff386977aaac","impliedFormat":99},{"version":"aed8029500a40d0b604a1925f0ad677e9b2319a95afbf38168689c5a771389af","impliedFormat":99},{"version":"41931e7f38f9d140b01f98af2234df54cd48e640012fc7ec781e8d49bef24ba5","impliedFormat":99},{"version":"c0c93965e04da47f347f8ca064d35848d46df9674d087fcc6f0c1b4ae6e93582","impliedFormat":99},{"version":"5a7c8905855ce422199dcd9f09c4c776ceb66c91198e459e13fe72c0f067b63f","impliedFormat":99},{"version":"f9f583970f896ce64d652ad2d446be0c9c86bbf1edba79c319bac296c3ae51a1","impliedFormat":99},{"version":"b9c289167bc15bfbd04b01165d9ba6794ff9c633d72d7da8b990d359ca8d7e2b","impliedFormat":99},{"version":"b64d7e023d522acc0195da49af07a1dab57165a58f6d87b5f750f12786065344","impliedFormat":99},{"version":"feaeadcfe3c44fbf3dd427110db8adf8cefe45dffde44c5ba6a743e15b39a366","impliedFormat":99},{"version":"6944a8f65e43f69e025dd6c9c9c812d34be4544ea9bc7b7c02a5b7ba2f558d84","impliedFormat":99},{"version":"0a87063988c2bca33973431320c220a3d8785d727f163184231bc5550b2c7ef0","impliedFormat":99},{"version":"57e468e73b39b2acca2ebb9e7afd847c6d3c6a8f41663da32f2aeaba5b097dc6","impliedFormat":99},{"version":"2930836e99dd2487442b71968ef1761a57f431e10b7c4ef3d62709c09bbe5240","impliedFormat":99},{"version":"91ba95d318aa35b2e383b7cc3655c56701010c3d7428e1decdb4ecd6981dadce","impliedFormat":99},{"version":"56b556db5061b0ff674cc06a708d7c6674f05f03de1c94d29c52cee5ed86922f","impliedFormat":99},{"version":"e62ef9a4c1e94586a6718189ba5be349b9a5f222169c16353f270ba0ed7da65d","impliedFormat":99},{"version":"752de46112146307379db6263890bf0a48c47f87a33335fabf53543e246e60d9","impliedFormat":99},{"version":"d9e55de2e36ed1d789753b2890ead19a590406c934bf15f5c7ea43ce6fa78ac6","impliedFormat":99},{"version":"06b7ca3e1c5036f619676330c1f754b1fcab751bbf42edce96bf1819cb6986b4","impliedFormat":99},{"version":"6fdf2d53dd4c8b74d28f26ede7b2e4c0cd3d3480f13f24fcdb89405bf88180b4","impliedFormat":99},{"version":"019e3d5c3097cbcd014394ce6943ee7eb4857948bf5951dd5c048254f3e6dd96","impliedFormat":99},{"version":"02c24f59a057d82eca00a59a2b17c9d10fb7f24b9d4875fba491959a6b5521e0","impliedFormat":99},{"version":"a53ec27d1cf48bb349d4564eecdf9f07bf5b1bcf2781d0a966411152316bd006","impliedFormat":99},{"version":"513c4869a1961af24e40b59a23ce4312682e9275288409870c40496aa389caa6","impliedFormat":99},{"version":"ee1a2bbd2002638a9625fd7fba1ab1e183559bfb68146f571ed7e4f4cf72d009","impliedFormat":99},{"version":"bc87842e67e3876a7194c5d64198b4829416dd8c8973601b3d64e7f766376363","impliedFormat":99},{"version":"c7741d898b0bbb21e03d0b8b12bf5baffe664c862b4d4425c998cc6b7a990705","impliedFormat":99},{"version":"873eca5a1a7017ebf220122e4e53dc3a6a3d2870d3ff5b171ad8f79b9b8aefd1","impliedFormat":99},{"version":"b08f9a4096d9be0571dd7dcb8d5882e2c57b3d35285e36d5fb14412baf947623","impliedFormat":99},{"version":"399dc26e4eb6aadaafbccca2cfe58c6fc2c815bdcc0ec437549a0b0c87ae5e37","impliedFormat":99},{"version":"0c4d7b8498cba32d6b066a604ebe085abc646298e6ecb6369f3a96ebb774572f","impliedFormat":99},{"version":"00627e9d43b0bfd72b337c90bfc9014fa72e8247ce5dd1495d59236b4aad3a8a","impliedFormat":99},{"version":"3af1b0691303967f388f600d28350ff71e3c4a9dee3056682620850440b6c03e","impliedFormat":99},{"version":"fa7c18eb36a647a628bc9b8389e7b09660f01bf3db4885362efc820589b54b48","impliedFormat":99},{"version":"41f025e7098cbdf6b6e18a7112385b0fab4b1c0f3f9f80dfb55dcc4429b880c0","impliedFormat":99},{"version":"86ebb0cdb36cc752597ae8d300148180d8eec489f6025ea5911fa2cbecece081","impliedFormat":99},{"version":"727a4bf89e28dc475c5f9316eece04b14a4b6b9ab277834364239e2f1d2cd9f7","impliedFormat":99},{"version":"e734b00337e9fc0a8e83365a26428106f479dcd1abc73a8779967bc827f11e3a","impliedFormat":99},{"version":"243fcd2ad3ecad05cb2e71c231ca596bc3c6c4e489e1619c52649f0e546dd26d","impliedFormat":99},{"version":"f0bb27764e181cceed0bb72f109d8b36ea2707b0f225d715f46654bb9b016393","impliedFormat":99},{"version":"118febbc2df8a862260272bba28eb7461715e1dd281b32d19da6248757350e87","impliedFormat":99},{"version":"e67ace7307642b735b7e96bb97ff9138690acebab53eaed61347427753e4d1e1","impliedFormat":99},{"version":"87a8be4c77085ca8144892dc15708da857c6a0c4013b470520831405fae88533","impliedFormat":99},{"version":"2499f46ec67f9e5204492d07e9026b1bce446d5da2d1bb4a10ae0c4447a289af","impliedFormat":99},{"version":"116c79190f08958c32c45a4f72fdcdf58df72416b32b1d54d6947b13c850201c","impliedFormat":99},{"version":"4d5a44f03a7ab2527a59afa9d14fd6bc43e37cfb98c3ea667fd46a572fe89bc2","impliedFormat":99},{"version":"3979accfb06995b82ea963a62b176ff8dbf1af7e69071b3092d1d2e6036c3cec","impliedFormat":99},{"version":"e2404517591b13257cafcab1ec9d70a2d346ed5318fed639fd699107a21545cf","impliedFormat":99},{"version":"1c787e56dba48445aa569557505d5768a3a61522392c7c25953464047b849e2f","impliedFormat":99},{"version":"0ac9ec624ddcf056cf7a2c7d60d8325b741ab9bf80cc5c18449c7e1ee75ad118","impliedFormat":99},{"version":"5681612b1dc37cf330b971d4f1f77fc48cbadc18c654f34e1a0416a99fa2c709","impliedFormat":99},{"version":"df3d6522a17005c6d7c495338111427eb02490ed1377228918c255c3b26a5be1","impliedFormat":99},{"version":"4f819f882eaf41c8e1f0d9272c5bbba78f2023ba3fe9596e240160502ff210f9","impliedFormat":99},{"version":"62880ea3cb43d6cbeaecb6d6960bba625a670806cd82eb960ba2a2aeab736eac","impliedFormat":99},{"version":"8e1605d1a47bf1dc3de175bae994f49372014e8ba6497933d2cb299c408dda09","impliedFormat":99},{"version":"3106b775494342e60566941c9dd32bcd3380179bf525edf6626da1ddcbcd3632","impliedFormat":99},{"version":"41b136e657c05de5bf2aa8639221233f31af4b631626c6754c22560549e91a6c","impliedFormat":99},{"version":"b4632f6b4b271a0f6493a15493d0f09427ea6a9b9b549835a81dd31718dbd19b","impliedFormat":99},{"version":"424263d511a2b06f5b574cb8caa6913ce277d964147ee6cf503a8f7869431622","impliedFormat":99},{"version":"91f6140bfa7d4cf2261063d9537451a20d74fc43e53450225ee9e665016b1ff0","impliedFormat":99},{"version":"36a765deb941f868aa002fa67b4809f5bb47a10ff66a15add6dfd26e330afb19","impliedFormat":99},{"version":"6f4233b155fb5052e2f583356c523fabd40dd3a9aaef05c694e6bbe538c9c27d","impliedFormat":99},{"version":"668cf592e0904f4c34423c081350dc92c1d475a9c52889ffee29149da79fdd0f","impliedFormat":99},{"version":"3e33611f899366ec8fd1dd6920684b5a5fb9572ca05f1a12f401440923fdf21b","impliedFormat":99},{"version":"079a065101f29951aac337a2308f942c6d93296b8340f2b5004aa48aa289562c","impliedFormat":99},{"version":"3bff6d4ded0ddb4d2e704f1d274292d9cbb65ff60a8ba8595bfdce822321a736","impliedFormat":99},{"version":"91ab85a45434660cb3367c73142543efc66a5fa8e5a2ca954a8e1af4581605ef","impliedFormat":99},{"version":"d9cfc4635923eb5c22406f97afdaa0272115af9cfe0fa3f33cd96fa5589187e6","impliedFormat":99},{"version":"f7c3dd2a55fd5136bebb43583a30ed46da2cf5e6afbc17222b9ceedad5b7383d","impliedFormat":99},{"version":"f688655ca29d12dafe5897efb7063979c9eb590e62358504629225003e841d34","impliedFormat":99},{"version":"057739a174619fd0ed493f452fc14a667284fe44f0a08310b31a7f6422b84b06","impliedFormat":99},{"version":"c93faec8d643450e5e92f08e34be9329cd7f57a456deae018059e3d7b5f7b928","impliedFormat":99},{"version":"124d28a946ba2b461c2ce75a511124420bd7fdcd699051d905d72d509480d6d6","impliedFormat":99},{"version":"82ab37de5dad558cf74f37a6a033f189480181f8ddf2ea096a60ac28925e1869","impliedFormat":99},{"version":"1cb84b25ea1ecb1900ba700c4907eff062b82b17af512aadef921f76242bec89","impliedFormat":99},{"version":"de0d1b781852e2255de97ce91986df37a025f541b8926851ba1435b693ab864f","impliedFormat":99},{"version":"edce5ab61d202d17d023694b94990c99ef2fef531f705361bfcb82f6a256758f","impliedFormat":99},{"version":"0fe6c53bfea404986540d104103db46224830f6912963c90d20f4c195c7000aa","impliedFormat":99},{"version":"bcb657aab954c02a8a48b50236bb889091167c651673e15d016a2e1978ce2691","impliedFormat":99},{"version":"a126ffd129b033365e8162598efba980ca90bfc0a6cc41d5152fce11896d56e7","impliedFormat":99},{"version":"66c5847742803134b02bf07c53997c8dab3e4bb4ff428ef861a2450bf7744f61","impliedFormat":99},{"version":"3e80ac50e17c60be70575505005c9c28fd69150273ced8d50d73eed68cfdbf16","impliedFormat":99},{"version":"67022bb9c3b2174baf06917f426d832e447b2e6865be713b9fc18082ea437a51","impliedFormat":99},{"version":"1f3a97a978eaaf934f1f92682bf05bcfc11b8b4a00821d6e4d8c7d6bcff0fc79","impliedFormat":99},{"version":"a771f93d971c945eacad088d558d2015aca8ac0bc533ada8e317f3883f105f32","impliedFormat":99},{"version":"d5d9ba4cdb84bb2cb3207bb01e4ba70ac6ba3432cf6963b028c06388b0cd8656","impliedFormat":99},{"version":"cdb6410d699f7e0833b9e30c344c541c7ee94abe6959a4b714eb98dcda4bfa29","impliedFormat":99},{"version":"9fc6a5e9bb59cf074c5f26e636291aca55429165b98a5ecff9aa4830518f6588","impliedFormat":99},{"version":"3f0a17b44c005c05b97d6c225f6e55141ed3a08fc8b80325b83d3837c911b1ae","impliedFormat":99},{"version":"e635757f7088be7d099538d9cbc5e555782993605879b530ab5f1993312928af","impliedFormat":99},{"version":"292673f53fe0a33f69ce57ca0a4816c6e93e7213af687247021ab6fb3fef3f69","impliedFormat":99},{"version":"0e6ef2d24419cca5b5f020f5f926c24a8a50fb77062feb87f0d759b4455c31b3","impliedFormat":99},{"version":"5b67e62aa4c0817a18ed22992e3a328f2b6402bd2ee4f9ae2dd66a3c3486529a","impliedFormat":99},{"version":"e4e21d158ac452364c3bff7b7899ef0b0515d7abb8e8e596a0bb5e893e5a4f84","impliedFormat":99},{"version":"74d927443bacd8d7d92a6a377a728e74b1a3ced3c5d96bc04634abb234ed3a8e","impliedFormat":99},{"version":"94c3242169324a0b2212dc12395d17aab5a96b23267f03e0e4142e2cc134c7ec","impliedFormat":99},{"version":"4a2770e5c1e17db9373ebd92981ba74ca2059fc1f7c88491e401875fd298dc7e","impliedFormat":99},{"version":"a6ffcc079abed93c28a5b74bfa4ed694e8d810b21ca649523e098d126791432d","impliedFormat":99},{"version":"ba669ede8b934c54f211323b782c1b65e423db29965a4c68ca3e8bd984033f10","impliedFormat":99},{"version":"cfa6e2117c4f2855c7a4866d03a146c4d2dbd65e7eee5e0182298e630ea8f7af","impliedFormat":99},{"version":"50596833b2659cbe98f138d233ab3da041734f73a82e96873ccb5056a94f3389","impliedFormat":99},{"version":"75dd74b7c8bde65a3fe491d088b671b75c60ea6a5795c651d8f929dec7bfd0d8","impliedFormat":99},{"version":"621cd97ca6ba2df7b66b773cd4e0126f959d56db59bbc262dfe627e9c0b89841","impliedFormat":99},{"version":"e19cf00b7cc08a6559f1fd47bd100c54d5989a96973b58a8980490f285fe18a8","impliedFormat":99},{"version":"cbbf88f53c2d00ec848ea9781ff435afbd6776f9dae08ba685e6f64a33711984","impliedFormat":99},{"version":"20c145001d9d205002526fa1c26151b8942b3efa99409442aa1f0c55f8a97e26","impliedFormat":99},{"version":"8615e46872d20ffe0a8ff44b9ce593f64f79a8d309ac4859e8b59906f9aa8762","impliedFormat":99},{"version":"4416521a9e7133d2e680e2977251ff783416b6bd03c5cd75bb4f47a98c128b3c","impliedFormat":99},{"version":"31d45c45e7b924c77c906237b00fe87358cc25e5e6d4771ac96c1da382b47c94","impliedFormat":99},{"version":"25a333b9b2020a43a5c4a75c277741c7ede6c01461105b5d0768aaa461de6938","impliedFormat":99},{"version":"cd154bdd2fc6cf16712e99dd953c7d0a00aa6ee37c7235f04f516cd7a2e23095","impliedFormat":99},{"version":"8672389ff1c732976deb46c971a8c21f98bdb6ea7ee73632216679d2d3a1d723","impliedFormat":99},{"version":"13346c4fc0d11d920ceb9c423a5699a77e9fc3cdf1a503bbea3f545b72ed4736","impliedFormat":99},{"version":"e107d19bb5575d072a6ef55c1d7c92df4364b7790e27ef034d43fcf11088f314","impliedFormat":99},{"version":"676d3c55c65df11cb1445503548bd4038373ce1c1e17fa1261a554df225802bd","impliedFormat":99},{"version":"a8ea887074dfa326c0b81b7726adfcf73da08b02f6d12dcc4b51ae874be45a20","impliedFormat":99},{"version":"ec1a0bd6e9cf024cbfdeeed1524c9c00b409b661871007fd4f61b22b16b597f9","impliedFormat":99},{"version":"a75c3ddc29c89704de18a47258b33ffa4236e89d2a6c7ef64d00d9b3a593ccf2","impliedFormat":99},{"version":"0e638ebfddb73f8a5b07d61da9496e3d95de249e92929970898c3725d509b0dd","impliedFormat":99},{"version":"aa6c68ae030bc57e2cf901448a1ab94f340bab7dfe544b45f8469ecc8fb11e54","impliedFormat":99},{"version":"b66fa60a872678cef7d7b8439b1ccb4b87b09aa2cede6e1dd893445fbaa07d63","impliedFormat":99},{"version":"f6c181d754f301199d23bd69d50733b29864682b7b5f714edab4841e50b0fd3c","impliedFormat":99},{"version":"eddddd25770a1b5deff6e3d5e83b57f25f90addf14ff89bee3c90867f855a4a4","impliedFormat":99},"00d439cd56d2c15337e9ce5a8a32f1dc9f6f8aafd1b0662b91485309c97956b8","02c7398ecf22b07d751e4f05ad54e0c90125c4cbfa5b7b04beea507e38e1258a","61415f75731e9b070366b9b8a7ac8f108c3970baffab5b1fcd488122329f49ea","e833f387600d30401b1b6b25aaac8f0dd32529fc979eb1d449f78f7866001762","b2c48e42d466e9db44762134e640336fa36f5e7f9c99d7a138755509ab2c9322","f50ea3fe2e75d5c2b43ea71bb7d23f0723633495132f30ab5a8884e2609b3c01",{"version":"db8b268ea5865a2611393cc4e0946fc2c18d317e356ebab00d45fe4f49a27e42","signature":"0a0abc52e89e4fea7637c4d2665dd09ced30ceef4b73aab6044557007b7e1bd3"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"fda6979667bb60fe7ee8d5400628ddd6911c4a3f0bffb6107653530cafe4fb6a","signature":"a034d5b2ed55f8d8f04c40136d06f2b971cd01b13796c3a2b08e8d24dd232258","affectsGlobalScope":true},{"version":"ec36a48680c2421347c35f62d2e28d90e0eccebcf9a9b4eb05365fe6a04f99a7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c7b1d8456862151ad695769ea45fffe358154c105c71e191eb36550060d2435f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[535,919,[958,961],[966,972],[1195,1201],[1251,1253]],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":200,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[909,1],[896,2],[894,3],[892,4],[891,5],[895,6],[890,6],[893,7],[897,8],[899,9],[903,10],[905,11],[908,12],[904,13],[906,5],[907,14],[898,15],[900,16],[517,17],[883,5],[504,18],[502,19],[500,20],[499,5],[503,21],[497,21],[501,22],[505,23],[507,24],[495,5],[511,25],[514,26],[885,27],[516,28],[513,29],[515,30],[512,5],[506,31],[508,32],[498,5],[914,33],[910,34],[911,35],[912,36],[913,37],[727,5],[1229,5],[534,38],[531,5],[533,5],[920,38],[532,39],[1232,40],[889,5],[1230,5],[430,41],[431,41],[432,42],[391,43],[433,44],[434,45],[435,46],[386,5],[389,47],[387,5],[388,5],[436,48],[437,49],[438,50],[439,51],[440,52],[441,53],[442,53],[444,5],[443,54],[445,55],[446,56],[447,57],[429,58],[390,5],[448,59],[449,60],[450,61],[483,62],[451,63],[452,64],[453,65],[454,66],[455,67],[456,68],[457,69],[458,70],[459,71],[460,72],[461,72],[462,73],[463,5],[464,5],[465,74],[467,75],[466,76],[468,77],[469,78],[470,79],[471,80],[472,81],[473,82],[474,83],[475,84],[476,85],[477,86],[478,87],[479,88],[480,89],[481,90],[482,91],[491,92],[490,93],[489,92],[548,94],[812,95],[549,96],[547,95],[813,97],[545,98],[810,5],[546,99],[536,5],[538,100],[809,95],[579,95],[957,101],[1233,102],[1240,103],[1241,104],[1239,5],[1202,5],[1211,105],[1210,106],[1234,105],[1218,107],[1220,108],[1219,109],[1227,110],[1226,5],[1209,111],[1203,112],[1205,113],[1207,114],[1206,5],[1208,112],[1204,5],[1231,5],[537,5],[947,115],[944,5],[946,116],[945,117],[954,115],[953,115],[955,118],[952,119],[950,115],[951,115],[948,120],[949,115],[382,121],[91,122],[331,123],[90,5],[93,124],[380,125],[381,126],[89,5],[383,127],[164,128],[108,129],[131,130],[140,131],[111,131],[112,132],[113,132],[139,133],[114,134],[115,132],[121,135],[116,136],[117,132],[118,132],[141,137],[110,138],[119,131],[120,136],[122,139],[123,139],[124,136],[125,132],[126,131],[127,132],[128,140],[129,140],[130,132],[151,141],[159,142],[138,143],[167,144],[132,145],[134,146],[135,143],[145,147],[153,148],[158,149],[155,150],[160,151],[148,152],[149,153],[156,154],[157,155],[163,156],[154,157],[133,127],[165,158],[109,127],[152,159],[150,160],[137,161],[136,143],[166,162],[142,163],[161,5],[162,164],[385,165],[92,127],[202,5],[219,166],[168,167],[193,168],[200,169],[169,169],[170,169],[171,170],[199,171],[172,172],[187,169],[173,173],[174,173],[175,170],[176,169],[177,170],[178,169],[201,174],[179,169],[180,169],[181,175],[182,169],[183,169],[184,175],[185,170],[186,169],[188,176],[189,175],[190,169],[191,170],[192,169],[214,177],[210,178],[198,179],[222,180],[194,181],[195,179],[211,182],[203,183],[212,184],[209,185],[207,186],[213,187],[206,188],[218,189],[208,190],[220,191],[215,192],[204,193],[197,194],[196,179],[221,195],[205,163],[216,5],[217,196],[493,197],[494,198],[492,199],[96,200],[288,201],[223,202],[258,203],[267,204],[224,205],[225,205],[226,206],[227,205],[266,207],[228,208],[229,209],[230,210],[231,205],[268,211],[269,212],[232,205],[234,213],[235,204],[237,214],[238,215],[239,215],[240,206],[241,205],[242,205],[243,211],[244,206],[245,206],[246,215],[247,205],[248,204],[249,205],[250,206],[251,216],[236,217],[252,205],[253,206],[254,205],[255,205],[256,205],[257,205],[276,218],[283,219],[265,220],[293,221],[259,222],[261,223],[262,220],[271,224],[278,225],[282,226],[280,227],[284,228],[272,229],[273,153],[274,230],[281,231],[287,232],[279,233],[260,127],[289,234],[233,127],[277,235],[275,236],[264,237],[263,220],[290,238],[291,5],[292,239],[270,163],[285,5],[286,240],[104,241],[97,242],[146,127],[143,243],[147,244],[144,245],[342,246],[319,247],[325,248],[294,248],[295,248],[296,249],[324,250],[297,251],[312,248],[298,252],[299,252],[300,249],[301,248],[302,253],[303,248],[326,254],[304,248],[305,248],[306,255],[307,248],[308,248],[309,255],[310,249],[311,248],[313,256],[314,255],[315,248],[316,249],[317,248],[318,248],[339,257],[330,258],[345,259],[320,260],[321,261],[334,262],[327,263],[338,264],[329,265],[337,266],[336,267],[341,268],[328,269],[343,270],[340,271],[335,272],[323,273],[322,261],[344,274],[333,275],[332,276],[100,277],[102,278],[101,277],[103,277],[106,279],[105,280],[107,281],[98,282],[378,283],[346,284],[371,285],[375,286],[374,287],[347,288],[376,289],[367,290],[368,286],[369,291],[370,292],[355,293],[363,294],[373,295],[379,296],[348,297],[349,295],[352,298],[358,299],[362,300],[360,301],[364,302],[353,303],[356,304],[361,305],[377,306],[359,307],[357,308],[354,309],[372,310],[350,311],[366,312],[351,163],[365,313],[94,163],[95,314],[99,315],[384,5],[1247,316],[1249,317],[1248,318],[1246,319],[1245,5],[956,320],[943,321],[942,5],[965,322],[964,323],[963,324],[962,5],[518,325],[884,326],[882,327],[881,328],[886,329],[887,330],[834,331],[839,332],[846,333],[829,334],[583,5],[591,335],[731,336],[734,337],[706,5],[719,338],[726,339],[608,5],[708,5],[589,5],[705,340],[751,341],[590,5],[581,342],[733,343],[735,344],[736,345],[807,346],[700,347],[653,348],[713,349],[714,350],[712,351],[711,5],[707,352],[732,353],[592,354],[777,5],[778,355],[619,356],[593,357],[620,356],[656,356],[559,356],[729,358],[728,5],[718,359],[824,5],[568,5],[845,360],[785,361],[786,362],[782,363],[863,5],[683,5],[787,364],[783,365],[868,366],[867,367],[862,5],[634,5],[686,368],[685,5],[861,369],[784,95],[639,370],[646,371],[648,372],[638,5],[643,373],[645,374],[647,375],[642,376],[640,5],[644,377],[864,5],[860,5],[866,378],[865,5],[637,379],[855,380],[858,381],[627,382],[626,383],[625,384],[871,95],[624,385],[613,5],[873,5],[874,95],[875,386],[551,5],[715,387],[716,388],[717,389],[555,5],[720,5],[575,390],[550,5],[799,95],[557,391],[798,392],[797,393],[788,5],[789,5],[796,5],[791,5],[794,394],[790,5],[792,395],[795,396],[793,395],[588,5],[585,5],[586,356],[740,5],[745,397],[746,398],[744,399],[742,400],[743,401],[738,5],[805,364],[580,364],[833,402],[840,403],[844,404],[674,405],[673,5],[668,5],[820,406],[828,407],[701,408],[702,409],[780,410],[690,5],[803,411],[678,95],[695,412],[806,413],[691,5],[694,414],[692,5],[804,415],[801,416],[800,5],[802,5],[698,5],[776,417],[563,418],[676,419],[680,420],[696,421],[699,422],[688,423],[681,424],[827,425],[754,426],[672,427],[560,428],[826,429],[556,430],[747,431],[739,5],[748,432],[765,433],[737,5],[764,434],[544,5],[759,435],[584,5],[779,436],[755,5],[569,5],[571,5],[710,5],[763,437],[587,5],[611,438],[697,439],[617,440],[677,5],[762,5],[741,5],[767,441],[768,442],[709,5],[770,443],[772,444],[771,445],[721,5],[761,428],[774,446],[671,447],[760,448],[766,449],[596,5],[600,5],[599,5],[598,5],[603,5],[597,5],[606,5],[605,5],[602,5],[601,5],[604,5],[607,450],[595,5],[663,451],[662,5],[667,452],[664,453],[666,454],[669,452],[665,453],[576,455],[655,456],[823,457],[821,5],[850,458],[852,459],[816,460],[851,461],[564,462],[561,462],[594,5],[578,463],[577,464],[573,465],[574,466],[582,467],[610,467],[621,467],[657,468],[622,468],[566,469],[565,5],[661,470],[660,471],[659,472],[658,473],[567,474],[808,475],[609,476],[815,477],[781,478],[811,479],[814,480],[704,481],[703,482],[684,483],[670,484],[652,485],[654,486],[651,487],[773,488],[675,5],[838,5],[572,489],[775,490],[822,491],[682,5],[612,492],[689,493],[687,494],[614,495],[749,496],[817,5],[615,497],[750,497],[836,5],[835,5],[837,5],[819,5],[818,5],[752,498],[679,5],[649,499],[570,500],[628,5],[554,501],[616,5],[842,95],[553,5],[854,502],[636,95],[848,364],[635,503],[831,504],[633,502],[558,5],[856,505],[631,95],[632,95],[623,5],[552,5],[630,506],[629,507],[618,508],[693,71],[753,71],[769,5],[757,509],[756,5],[641,379],[562,5],[650,95],[825,390],[832,510],[539,95],[542,511],[543,512],[540,95],[541,5],[730,513],[725,514],[724,5],[723,515],[722,5],[830,516],[841,517],[843,518],[847,519],[849,520],[853,521],[857,522],[880,523],[859,524],[869,525],[870,526],[872,527],[876,528],[879,390],[878,5],[877,529],[496,5],[488,530],[485,529],[487,531],[486,5],[484,5],[902,532],[901,533],[510,534],[509,535],[758,536],[975,5],[978,5],[981,5],[1193,537],[976,538],[996,539],[973,540],[980,541],[1192,542],[1166,543],[1167,544],[1152,545],[1001,546],[1153,545],[1154,547],[1028,548],[990,5],[1169,549],[1168,547],[1145,545],[1146,547],[1026,550],[1025,551],[992,552],[1092,553],[1098,554],[1093,555],[1095,556],[1094,557],[1099,558],[1097,545],[1096,545],[983,5],[984,559],[1100,560],[1102,561],[1101,562],[991,563],[993,552],[1089,5],[1031,564],[1087,565],[1086,566],[1106,567],[1105,568],[1104,569],[1103,547],[1046,570],[1004,563],[1155,547],[985,547],[989,571],[1083,572],[1088,573],[1008,574],[1091,575],[1156,555],[1030,576],[987,577],[1009,578],[1037,579],[1038,580],[1036,547],[1039,581],[1157,545],[1150,582],[1158,547],[994,583],[1027,584],[997,585],[998,586],[1107,5],[1108,587],[1109,588],[1112,589],[1110,590],[1111,547],[1171,591],[1170,547],[1090,592],[1115,593],[1113,547],[1114,594],[1147,595],[1078,596],[1080,597],[1159,547],[1082,598],[1023,599],[1016,585],[1019,600],[1021,601],[1024,602],[1018,603],[1017,547],[1020,604],[1022,605],[1084,606],[995,5],[1002,607],[1160,608],[1161,609],[1003,5],[1032,610],[1085,611],[1162,547],[1163,547],[1035,570],[1079,609],[1010,612],[999,613],[1044,614],[1041,614],[1040,615],[1043,616],[986,617],[1148,618],[1116,619],[1120,620],[1117,621],[1118,547],[1119,622],[1007,623],[1123,624],[1121,585],[1122,545],[1125,625],[1127,626],[1124,592],[1126,627],[1011,5],[1029,619],[1034,628],[1033,629],[1081,630],[1129,631],[1128,585],[1149,632],[1014,633],[1013,5],[1045,634],[1077,635],[1076,636],[1130,545],[1131,592],[1132,637],[1137,638],[1133,547],[1134,547],[1135,592],[1136,639],[1042,547],[1012,5],[1000,640],[988,547],[1138,585],[1139,545],[1141,641],[1056,547],[1140,545],[1057,642],[1047,643],[1048,644],[1075,645],[1051,646],[1052,647],[1055,648],[1053,649],[1054,650],[1049,651],[1059,652],[1058,653],[1050,547],[1069,654],[1074,655],[1070,656],[1071,657],[1072,658],[1073,659],[1164,660],[1015,661],[1006,662],[1005,663],[1060,664],[1061,664],[1142,5],[1143,665],[1068,666],[1144,667],[1062,666],[1063,666],[1064,668],[1065,664],[1066,669],[1067,670],[1177,671],[1174,545],[1173,545],[1175,545],[1176,545],[1184,545],[1179,592],[1181,5],[1183,672],[1180,673],[1182,674],[1185,675],[1187,676],[1186,677],[1188,678],[1172,5],[1189,679],[1178,5],[1165,547],[982,680],[1190,681],[1194,681],[974,5],[979,539],[977,682],[1191,683],[1151,684],[925,685],[926,686],[927,687],[922,688],[924,5],[921,689],[923,690],[1235,5],[1228,5],[87,5],[88,5],[14,5],[16,5],[15,5],[2,5],[17,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[3,5],[25,5],[26,5],[4,5],[27,5],[31,5],[28,5],[29,5],[30,5],[32,5],[33,5],[34,5],[5,5],[35,5],[36,5],[37,5],[38,5],[6,5],[42,5],[39,5],[40,5],[41,5],[43,5],[7,5],[44,5],[49,5],[50,5],[45,5],[46,5],[47,5],[48,5],[8,5],[54,5],[51,5],[52,5],[53,5],[55,5],[9,5],[56,5],[57,5],[58,5],[60,5],[59,5],[61,5],[62,5],[10,5],[63,5],[64,5],[65,5],[11,5],[66,5],[67,5],[68,5],[69,5],[70,5],[71,5],[12,5],[72,5],[73,5],[74,5],[75,5],[76,5],[1,5],[77,5],[78,5],[13,5],[79,5],[80,5],[81,5],[82,5],[83,5],[84,5],[85,5],[86,5],[407,691],[417,692],[406,691],[427,693],[398,694],[397,695],[426,529],[420,696],[425,697],[400,698],[414,699],[399,700],[423,701],[395,702],[394,529],[424,703],[396,704],[401,705],[402,5],[405,705],[392,5],[428,706],[418,707],[409,708],[410,709],[412,710],[408,711],[411,712],[421,529],[403,713],[404,714],[413,715],[393,716],[416,707],[415,705],[419,5],[422,717],[1214,718],[1217,719],[1215,718],[1213,5],[1216,720],[1236,721],[1225,722],[1221,723],[1222,107],[1243,724],[1237,725],[1223,726],[1242,727],[1212,5],[1224,728],[1250,729],[1244,730],[1238,5],[941,731],[932,732],[939,733],[934,5],[935,5],[933,734],[936,735],[928,5],[929,5],[940,736],[931,737],[937,5],[938,738],[930,739],[1251,740],[1252,741],[1253,742],[919,743],[1200,744],[535,5],[1201,513],[967,745],[958,746],[1199,747],[968,748],[1196,749],[971,750],[970,748],[960,751],[961,752],[972,748],[969,753],[1198,749],[1195,754],[1197,753],[966,755],[959,756],[915,757],[916,758],[888,759],[918,760],[917,761],[529,762],[530,763],[522,764],[519,765],[523,766],[521,766],[528,767],[524,768],[520,764],[526,769],[527,769],[525,764]],"affectedFilesPendingEmit":[1251,1252,1253,919,1200,535,1201,967,958,1199,968,1196,971,970,960,961,972,969,1198,1195,1197,966,959],"version":"6.0.2"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/adapters.d.ts","../../db/src/schemas/auth.ts","../../db/src/schemas/hackathons.ts","../../db/src/schemas/members.ts","../../db/src/schemas/admins.ts","../../db/src/schemas/events.ts","../../db/src/schemas/judge.ts","../../db/src/schemas/stripe.ts","../../db/src/schemas/security.ts","../../db/src/schemas/index.ts","../../db/src/client.ts","../../db/src/index.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-d4qzxqjh.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/unstable-core-do-not-import.d-bl-_61jq.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d-vq_qhko2.d.mts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/adapters/fetch/index.d.mts","../src/middleware/cache.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.6/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.6_@playwright+tes_7fc3d200a4dc1cb070f219778cc7df6e/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/lib/types.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/errors.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/providers/google.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/providers/nodemailer.d.ts","../../auth/src/config.ts","../../../node_modules/.pnpm/@types+cookie@0.6.0/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.11.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.37.1_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/mysql.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/pg.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/sqlite.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/lib/utils.d.ts","../../../node_modules/.pnpm/@auth+drizzle-adapter@1.7.1_nodemailer@8.0.5/node_modules/@auth/drizzle-adapter/index.d.ts","../../auth/src/adapter.ts","../../auth/src/auth.ts","../../auth/src/utils.ts","../../auth/src/email.ts","../../auth/src/index.ts","../src/context.ts","../../../node_modules/.pnpm/@trpc+server@11.15.1_typescript@6.0.2/node_modules/@trpc/server/dist/index.d.mts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/transformer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/plainer.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/types.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/class-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/custom-transformer-registry.d.ts","../../../node_modules/.pnpm/superjson@2.2.3/node_modules/superjson/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/tokenizer.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/parser.d.ts","../../../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/index.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/node.d.ts","../../../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/index.d.ts","../../../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/index.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/stringify.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/traversal.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/manipulation.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/querying.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/legacy.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/helpers.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/feeds.d.ts","../../../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/index.d.ts","../../../node_modules/.pnpm/htmlparser2@10.1.0/node_modules/htmlparser2/dist/esm/index.d.ts","../../../node_modules/.pnpm/@types+sanitize-html@2.16.1/node_modules/@types/sanitize-html/index.d.ts","../src/middleware/security.ts","../src/trpc.ts","../src/routers/hello-procedures.ts","../src/routers/hello.ts","../src/types/portal-context.ts","../src/services/portal-context.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/interface.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/types/index.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/lookup.d.ts","../../../node_modules/.pnpm/image-size@2.0.2/node_modules/image-size/dist/index.d.ts","../src/routers/user.ts","../src/middleware/procedures.ts","../src/routers/admin.ts","../src/routers/member.ts","../src/routers/hackathon/crud.ts","../src/routers/hackathon/registration.ts","../src/routers/hackathon/admin.ts","../src/routers/hackathon/events.ts","../src/routers/hackathon/content.ts","../src/routers/hackathon/index.ts","../src/routers/events.ts","../src/routers/judge/portal.ts","../src/routers/judge/helpers.ts","../src/routers/judge/rankings.ts","../src/routers/judge/admin.ts","../src/routers/judge/index.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/net/httpclient.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripecontext.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/apiversion.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/lib.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/striperesource.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/crypto/cryptoprovider.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripeemitter.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/platform/platformfunctions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/decimal.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/shared.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meters.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/coupons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/promotioncodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/discounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/capabilities.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/bankaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/externalaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/loginlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/multipart.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/filelinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/files.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxids.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/mandates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintentamountdetailslineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/connectcollectiontransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/transferreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customercashbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/payouts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reservetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxdeductedatsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/topups.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cardholders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/physicalbundles.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/disputes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactionsources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/feerefunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applicationfees.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reviews.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/charges.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupintents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/setupattempts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethods.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/features.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlements.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/activeentitlementsummaries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/entitlements/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/productfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/prices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/taxcodes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/confirmationtokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/refunds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/testclocks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/authorizations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/cards.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/personalizationdesigns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/issuing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/locations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/readers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/creditreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/debitreversals.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactionentries.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/inboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundpayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/outboundtransfers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receivedcredits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/receiveddebits.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/testhelpers/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptionschedules.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/subscriptions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicelineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicepayments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/shippingrates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoices.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/creditnotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/lineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/checkout/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customerbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/cashbalances.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/fundinginstructions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancesummary.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditgrants.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/creditbalancetransactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/alerttriggereds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/billingportal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/suppliers.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/products.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/orders.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/climate/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountowners.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accountownerships.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/sessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/financialconnections/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationreports.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/verificationsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/identity/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/earlyfraudwarnings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/paymentevaluations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelistitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/valuelists.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/radar/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reportruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/reporttypes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reporting/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/plans.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/holds.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/releases.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/reserve/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/scheduledqueryruns.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sigma/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/associations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculationlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/calculations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/registrations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/settings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactionlineitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/transactions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tax/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/configurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/connectiontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/onboardinglinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/terminal/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccountfeatures.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/financialaccounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/treasury/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balance.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/balancesettings.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoiceitems.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/quotes.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/sourcemandatenotifications.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/webhooks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/accountsessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/applepaydomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/countryspecs.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/customersessions.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/ephemeralkeys.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/exchangerates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/invoicerenderingtemplates.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/oauth.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentattemptrecords.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethodconfigurations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/paymentmethoddomains.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/tokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/webhookendpoints.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resourcenamespace.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/secrets.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/apps/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/requests.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/forwarding/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/deletedobject.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/meterevents.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventadjustments.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventsession.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/metereventstream.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/billing/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/v2amounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persons.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountpersontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts/persontokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounts.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accountlinks.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/accounttokens.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/events.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/eventdestinations.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/core/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/resources/v2/index.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.core.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/types.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/requestsender.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/error.d.ts","../../../node_modules/.pnpm/stripe@22.1.1_@types+node@22.15.32/node_modules/stripe/esm/stripe.esm.node.d.ts","../src/routers/stripe.ts","../src/routers/audit.ts","../src/routers/team.ts","../src/root.ts","../src/index.ts","../src/middleware/http-security.ts","../../../node_modules/.pnpm/@vitest+pretty-format@4.1.8/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/display.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/timers.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/types.d-bcelap-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@4.1.8/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/tasks.d-deyaimiu.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/traces.d.d2t_r8rx.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hmrpayload.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/chunks/modulerunnertransport.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/customevent.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@7.3.3_@types+node@22.1_392b90209fa496c876dd8d19022be423/node_modules/vite/dist/node/module-runner.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/environment.d-dojxxzv9.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/rawsnapshot.d-d_x3-62x.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@4.1.8/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/config.d.a1h_y6jt.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/environment.d.crsxczp1.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/rpc.d.b_8spu0w.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/worker.d.zphpo4yb.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/browser.d.bcoexmfg.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/optional-types.d.ts","../../../node_modules/.pnpm/@vitest+spy@4.1.8/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/assertion-error@2.0.1/node_modules/assertion-error/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.3/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@4.1.8/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@4.1.8/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/benchmark.d.daahlpsq.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/global.d.dvssrdq5.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/optional-runtime-types.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/types.d-bji5eawu.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d-b41z0auw.d.ts","../../../node_modules/.pnpm/@vitest+mocker@4.1.8_vite@7_d0b9be0d047f6feabbe1c858cfa610b0/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/suite.d.udjtyagw.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/chunks/evaluatedmodules.d.bxj5omdx.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/runners.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@4.1.8_@types+node@22_2e43ddd113e75f57c68244d18df0bee3/node_modules/vitest/dist/index.d.ts","../src/routers/judge/helpers.test.ts","../src/routers/user/portal-context.test.ts","../src/services/portal-context.test.ts","../src/test/create-mock-context.ts","../src/.internal-tests/resilience.test.ts","../src/.internal-tests/routers.test.ts","../src/.internal-tests/security.test.ts"],"fileIdsList":[[391,433,886,894],[391,433,877,878,879,880,881,883,886,894,895],[391,433,883,886],[391,433,877],[391,433],[391,433,886],[391,433,882,886],[391,433,882],[391,433,876,884,886,895],[391,433,886,888,894],[391,433,886,890,894],[391,433,884,886,889,891,893],[391,433,886,891],[391,433,496,877,882,886,892,894],[391,433,496,875,876,882,883,885,894],[391,433,508,516],[391,433,499,500,501,502,503,505,508,516,517],[391,433,505,508],[391,433,499],[391,433,508],[391,433,504,508],[391,433,498,504],[391,433,497,506,508,517],[391,433,508,510,516],[391,433,508,512,513,516],[391,433,516],[391,433,506,508,511,514,515],[391,433,508,514],[391,433,496,499,504,508,512,516],[391,433,495,496,497,498,504,505,507,516],[391,433,895,899],[391,433,895],[391,433,896,897,898],[391,433,530,531,532],[391,433,530],[391,433,1227,1228],[391,430,433],[391,432,433],[433],[391,433,438,468],[391,433,434,439,445,446,453,465,476],[391,433,434,435,445,453],[386,387,388,391,433],[391,433,436,477],[391,433,437,438,446,454],[391,433,438,465,473],[391,433,439,441,445,453],[391,432,433,440],[391,433,441,442],[391,433,443,445],[391,432,433,445],[391,433,445,446,447,465,476],[391,433,445,446,447,460,465,468],[391,428,433],[391,428,433,441,445,448,453,465,476],[391,433,445,446,448,449,453,465,473,476],[391,433,448,450,465,473,476],[389,390,391,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,445,451],[391,433,452,476],[391,433,441,445,453,465],[391,433,454],[391,433,455],[391,432,433,456],[391,430,431,432,433,434,435,436,437,438,439,440,441,442,443,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482],[391,433,458],[391,433,459],[391,433,445,460,461],[391,433,460,462,477,479],[391,433,445,465,466,468],[391,433,467,468],[391,433,465,466],[391,433,468],[391,433,469],[391,430,433,465],[391,433,445,471,472],[391,433,471,472],[391,433,438,453,465,473],[391,433,474],[391,433,453,475],[391,433,448,459,476],[391,433,438,477],[391,433,465,478],[391,433,452,479],[391,433,480],[391,433,445,447,456,465,468,476,479,481],[391,433,465,482],[391,433,490],[391,433,445,465,473,483,484,485,488,489,490],[391,433,943],[391,433,1200,1206,1224,1225,1226,1229],[391,433,1236],[391,433,1236,1237],[391,433,1204,1206,1207],[391,433,1204,1206],[391,433,1204],[391,433,1199,1204,1215,1216],[391,433,1199,1204,1215],[391,433,1223],[391,433,1199,1205],[391,433,1199],[391,433,1201],[391,433,1199,1200,1201,1202,1203],[391,433,933],[391,433,932],[391,433,931],[391,433,933,935,936,937,938,939,940,941],[391,433,931,933],[391,433,933,934],[89,95,98,143,381,391,433],[89,90,385,391,433],[91,391,433],[89,99,381,391,433],[89,98,99,167,222,293,345,379,381,391,433],[89,95,98,99,380,391,433],[89,391,433],[137,142,163,391,433],[89,107,137,391,433],[111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,140,391,433],[89,110,139,380,381,391,433],[89,139,380,381,391,433],[89,98,99,132,137,138,380,381,391,433],[89,98,99,137,139,380,381,391,433],[89,139,380,391,433],[89,137,139,380,381,391,433],[110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,139,140,391,433],[89,109,139,380,391,433],[89,121,139,380,381,391,433],[89,121,137,139,380,381,391,433],[89,91,94,98,99,104,137,141,142,143,145,148,149,150,152,158,159,163,391,433],[89,98,99,137,141,143,158,162,163,391,433],[89,137,141,391,433],[108,109,132,133,134,135,136,137,138,141,150,151,152,158,159,161,162,164,165,166,391,433],[89,98,137,141,391,433],[89,98,133,137,391,433],[89,98,137,152,391,433],[89,94,97,98,137,146,147,152,159,163,391,433],[153,154,155,156,157,160,163,391,433],[89,94,95,97,98,104,132,137,139,146,147,152,154,159,160,163,391,433],[89,94,98,104,141,150,157,159,163,391,433],[89,98,99,137,143,146,147,152,159,391,433],[89,98,144,146,147,391,433],[89,98,146,147,152,159,162,391,433],[89,90,94,97,98,99,104,137,141,142,146,147,150,152,159,163,391,433],[94,95,96,97,98,99,104,137,141,142,152,157,162,391,433],[89,94,95,97,98,99,137,139,142,146,147,152,159,163,381,391,433],[89,98,109,137,391,433],[89,90,91,99,107,143,144,151,159,163,391,433],[94,97,98,391,433],[89,95,108,131,132,134,135,136,138,139,380,391,433],[94,98,108,132,134,135,136,137,138,141,142,162,167,380,381,391,433],[89,98,391,433],[89,97,98,99,104,139,142,160,161,380,391,433],[89,92,94,95,96,99,107,143,146,380,381,382,383,384,391,433],[197,205,218,391,433],[89,98,197,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,200,391,433],[89,199,380,381,391,433],[89,99,199,380,381,391,433],[89,98,99,197,198,380,381,391,433],[89,98,99,197,199,380,381,391,433],[89,99,197,199,380,381,391,433],[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,188,189,190,191,192,199,200,391,433],[89,179,199,380,381,391,433],[89,99,187,380,381,391,433],[89,91,94,98,99,143,197,204,205,210,211,212,213,215,218,391,433],[89,98,99,143,197,199,202,203,208,209,215,218,391,433],[89,197,201,391,433],[168,194,195,196,197,198,201,204,210,212,214,215,216,217,219,220,221,391,433],[89,98,197,201,391,433],[89,98,197,205,215,391,433],[89,94,98,99,146,197,199,210,215,218,391,433],[203,206,207,208,209,218,391,433],[89,90,95,98,104,146,147,197,199,207,208,210,215,218,391,433],[89,94,204,206,210,218,391,433],[89,98,99,143,146,197,210,215,391,433],[89,90,94,97,98,99,104,146,194,197,201,204,205,210,215,218,391,433],[94,95,96,97,98,99,104,197,201,205,206,215,217,391,433],[89,90,94,98,99,146,197,199,210,215,218,381,391,433],[89,197,217,391,433],[89,90,91,98,99,143,210,214,218,391,433],[94,97,98,104,207,391,433],[89,95,168,193,194,195,196,198,199,380,391,433],[94,168,194,195,196,197,198,205,206,217,222,385,391,433],[89,97,98,104,201,205,207,216,380,391,433],[89,91,92,99,143,276,283,391,433,491,492],[391,433,492,493],[89,90,92,98,99,143,277,283,287,293,331,391,433,491],[94,95,98,381,391,433],[264,270,287,391,433],[89,107,264,391,433],[224,225,226,227,228,230,231,232,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,267,391,433],[89,234,266,380,381,391,433],[89,266,380,381,391,433],[89,99,266,380,381,391,433],[89,98,99,259,264,265,380,381,391,433],[89,98,99,264,266,380,381,391,433],[89,266,380,391,433],[89,99,229,266,380,381,391,433],[89,99,264,266,380,381,391,433],[224,225,226,227,228,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,266,267,268,391,433],[89,233,266,380,391,433],[89,236,266,380,381,391,433],[89,264,266,380,381,391,433],[89,229,236,264,266,380,381,391,433],[89,99,229,264,266,380,381,391,433],[89,91,94,98,99,143,264,269,270,271,272,273,274,275,277,282,283,286,287,391,433],[89,98,99,143,202,264,269,277,282,286,287,391,433],[89,264,269,391,433],[223,233,259,260,261,262,263,264,265,269,275,276,277,282,283,285,286,288,289,290,292,391,433],[89,98,264,269,391,433],[89,98,260,264,391,433],[89,98,99,264,277,391,433],[89,90,94,97,98,104,146,147,264,277,283,287,391,433],[274,278,279,280,281,284,287,391,433],[89,90,94,95,97,98,104,146,147,259,264,266,277,279,283,284,287,391,433],[89,94,98,269,275,281,283,287,391,433],[89,98,99,143,146,147,264,277,283,391,433],[89,98,146,147,277,283,286,391,433],[89,90,94,97,98,99,104,146,147,264,269,270,275,277,283,287,391,433],[94,95,96,97,98,99,104,264,269,270,277,281,286,391,433],[89,90,94,95,97,98,99,104,146,147,264,266,270,277,283,287,381,391,433],[89,98,99,233,264,268,286,391,433],[89,90,91,99,107,143,144,276,283,287,391,433],[94,97,98,104,284,391,433],[89,95,223,258,259,261,262,263,265,266,380,391,433],[94,98,223,259,261,262,263,264,265,269,270,286,293,380,381,391,433],[291,391,433],[89,97,98,99,104,266,270,284,285,380,391,433],[89,107,391,433],[94,95,96,98,99,380,381,391,433],[89,95,98,99,102,381,385,391,433],[380,391,433],[385,391,433],[323,341,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,325,391,433],[89,324,380,381,391,433],[89,99,324,380,381,391,433],[89,99,323,380,381,391,433],[89,98,99,323,324,380,381,391,433],[89,99,323,324,380,381,391,433],[89,99,107,324,380,381,391,433],[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,313,314,315,316,317,318,324,325,391,433],[89,304,324,380,381,391,433],[89,99,312,380,381,391,433],[89,91,94,98,143,323,330,333,334,335,338,340,341,391,433],[89,98,99,143,202,323,324,327,328,329,340,341,391,433],[320,321,322,323,326,330,335,338,339,340,342,343,344,391,433],[89,98,323,326,391,433],[89,323,326,391,433],[89,98,323,340,391,433],[89,94,98,99,146,323,324,330,340,341,391,433],[327,328,329,336,337,341,391,433],[89,95,98,146,147,323,324,328,330,340,341,391,433],[89,94,330,335,336,341,391,433],[89,90,94,97,98,99,104,146,323,326,330,335,340,341,391,433],[94,95,96,97,98,99,104,323,326,336,340,391,433],[89,94,98,99,146,323,324,330,340,341,381,391,433],[89,323,391,433],[89,90,91,98,99,143,330,339,341,391,433],[94,97,98,104,337,391,433],[89,95,319,320,321,322,324,380,391,433],[94,98,320,321,322,323,345,380,381,391,433],[89,91,92,99,143,330,332,339,391,433],[89,90,92,98,99,143,330,331,340,341,391,433],[98,381,391,433],[100,101,391,433],[103,105,391,433],[98,104,381,391,433],[98,102,106,391,433],[89,93,94,95,97,99,381,391,433],[351,372,377,391,433],[89,98,372,391,433],[347,367,368,369,370,375,391,433],[89,99,374,380,381,391,433],[89,98,99,372,373,380,381,391,433],[89,98,99,372,374,380,381,391,433],[347,367,368,369,370,374,375,391,433],[89,99,366,372,374,380,381,391,433],[89,374,380,381,391,433],[89,99,372,374,380,381,391,433],[89,91,94,98,99,143,351,352,353,354,357,362,363,372,377,391,433],[89,98,99,143,202,357,362,372,376,377,391,433],[89,372,376,391,433],[346,348,349,350,354,355,357,362,363,365,366,372,373,376,378,391,433],[89,98,372,376,391,433],[89,98,357,365,372,391,433],[89,94,97,98,99,146,147,357,363,372,374,377,391,433],[358,359,360,361,364,377,391,433],[89,94,97,98,99,104,146,147,348,357,359,363,364,372,374,377,391,433],[89,94,354,361,363,377,391,433],[89,98,99,143,146,147,357,363,372,391,433],[89,98,144,146,147,363,391,433],[89,90,94,97,98,99,104,146,147,351,354,357,363,372,376,377,391,433],[94,95,96,97,98,99,104,351,357,361,365,372,376,391,433],[89,94,97,98,99,146,147,351,357,363,372,374,377,381,391,433],[89,90,91,98,143,144,146,355,356,363,377,391,433],[94,97,98,104,364,391,433],[89,95,346,348,349,350,371,373,374,380,391,433],[89,372,374,391,433],[94,98,346,348,349,350,351,365,372,373,379,391,433],[89,97,98,104,351,364,374,380,391,433],[89,96,98,99,381,391,433],[91,92,95,98,381,391,433],[391,433,1242,1243],[391,433,1242,1243,1244,1245],[391,433,1242,1244],[391,433,1242],[391,433,929,930,931,933,942],[391,433,929],[391,433,951,952,953],[391,433,951,952],[391,433,951],[391,433,517],[391,433,504,508,516,862,866,867,868,869],[391,433,504,508,862,866,867],[391,433,862],[391,433,871],[391,433,513],[391,433,819],[391,433,821,822,823,824],[391,433,772,830,831],[391,433,545,546,548,560,583,698,709,812],[391,433,548,578,579,580,582,812],[391,433,548,715,717,719,720,722,812,814],[391,433,548,581,618,812],[391,433,546,548,559,560,566,571,576,697,698,699,708,812,814],[391,433,812],[391,433,555,561,579,599,694],[391,433,548],[391,433,541,555,561],[391,433,726],[391,433,723,724,726],[391,433,723,725,812],[391,433,448,599,796,809],[391,433,448,670,673,689,694,809],[391,433,448,642,809],[391,433,702],[391,433,701,702,703],[391,433,701],[391,433,448,540,541,548,560,566,571,577,579,583,584,597,598,665,695,696,709,812,816],[391,433,545,548,581,618,715,716,721,812,864],[391,433,581,864],[391,433,545,598,767,812,864],[391,433,864],[391,433,548,581,582,864],[391,433,718,864],[391,433,584,697,700,707],[391,433,772],[391,433,459,555],[391,433,555],[391,433,639],[391,433,561,772],[391,433,555,625,639,640,846,853],[391,433,624,847,848,849,850,852],[391,433,675],[391,433,675,676],[391,433,559,561,627,628],[391,433,561,634,635],[391,433,561,629,637],[391,433,634],[391,433,553,561,627,628,629,630,631,632,633,634,637],[391,433,561,627,634,635,636,638],[391,433,561,628,630,631],[391,433,628,630,633,635],[391,433,851],[391,433,561],[391,433,549,840],[391,433,476],[391,433,581,616],[391,433,581,709],[391,433,614,619],[391,433,615,818],[391,433,448,860],[391,433,448,561],[391,433,448,560,565,645,662,704,705,709,764,766,812,813],[391,433,597,706],[391,433,816],[391,433,547],[391,433,552,555,769,785,787],[391,433,459,555,769,784,785,786,863],[391,433,778,779,780,781,782,783],[391,433,780],[391,433,784],[391,433,733,734,736],[391,433,561,727,728,729,730,735],[391,433,733,735],[391,433,731],[391,433,732],[391,433,817,818],[391,433,818],[391,433,662,663],[391,433,663],[391,433,448,813,818],[391,433,692],[391,432,433,691],[391,433,555,561,567,569,670,683,687,689,766,769,801,802,809,813],[391,433,561,609,631],[391,433,670,681,684,689],[391,433,552,555,670,673,689,692,726,773,774,775,776,777,788,789,790,791,792,793,794,795,864],[391,433,552,555,579,670,677,678,679,682,683],[391,433,465,561,579,681,688,769,770,809],[391,433,685],[391,433,448,459,549,561,565,574,606,607,610,662,665,730,764,765,801,812,813,814,816,864],[391,433,552,553,555],[391,433,670],[391,432,433,579,606,607,664,665,666,667,668,669,813],[391,433,689],[391,432,433,554,555,565,569,604,670,677,678,679,680,681,684,685,686,687,688,802],[391,433,448,604,605,677,813,814],[391,433,579,607,662,665,670,766,813],[391,433,448,812,814],[391,433,448,465,809,813,814],[391,433,448,459,541,555,560,567,569,571,574,581,601,606,607,608,609,610,645,646,648,651,653,656,657,658,659,661,709,764,766,809,812,813,814],[391,433,448,465],[391,433,548,549,550,577,809,810,811,816,818,864],[391,433,545,546,812],[391,433,738],[391,433,448,465,476,557,722,726,727,728,729,730,736,737,864],[391,433,459,476,541,555,557,569,571,607,646,651,661,662,715,742,743,744,750,753,754,764,766,809,812],[391,433,571,577,584,597,607,665,812],[391,433,448,476,549,560,569,607,748,809,812],[391,433,768],[391,433,448,738,751,752,761],[391,433,809,812],[391,433,667,802],[391,433,569,606,709,818],[391,433,448,459,547,651,711,715,744,750,753,756,809],[391,433,448,584,597,715,757],[391,433,548,608,709,759,812,814],[391,433,448,476,730,812],[391,433,448,581,608,709,710,711,720,738,758,760,812],[391,433,448,540,606,763,816,818],[391,433,660,764],[391,433,448,459,555,558,560,561,567,569,574,583,584,597,607,610,646,648,658,661,662,709,742,743,744,745,747,749,764,766,809,818],[391,433,448,465,584,750,755,761,809],[391,433,587,588,589,590,591,592,593,594,595,596],[391,433,601,652],[391,433,654],[391,433,652],[391,433,654,655],[391,433,448,559,560,561,565,566,813],[391,433,448,459,547,549,567,570,606,609,610,644,764,809,814,816,818],[391,433,448,459,476,551,558,559,569,570,607,762,802,808,813],[391,433,677],[391,433,678],[391,433,561,571,801],[391,433,679],[391,433,554],[391,433,556,568],[391,433,448,556,560,567],[391,433,563,568],[391,433,564],[391,433,556,557],[391,433,556,611],[391,433,556],[391,433,558,601,650],[391,433,649],[391,433,555,557,558],[391,433,558,647],[391,433,555,557],[391,433,606,709],[391,433,801],[391,433,448,476,567,569,572,606,709,763,766,769,770,771,797,798,799,800,802,809,813],[391,433,620,623,625,626,639,640],[391,433,693],[391,433,579,600,605,606,670,671,672,673,674,676,689,690,692,695,763,766,812,814],[391,433,448,644,809],[391,433,644],[391,433,448,567,612,641,643,645,763,809,816,818],[391,433,620,621,622,623,625,626,639,640,817],[391,433,448,459,476,540,556,557,569,574,606,607,610,709,761,762,764,809,812,813,816],[391,433,552,555,562],[391,433,605,607,739,742],[391,433,605,740,803,804,805,806,807],[391,433,448,601,812],[391,433,448],[391,433,604,689],[391,433,603],[391,433,605,658],[391,433,602,604,812],[391,433,448,551,605,739,740,741,809,812,813],[391,433,555,561,638],[391,433,553],[391,433,543,544],[391,433,549],[391,433,555,624],[391,433,540,606,610,816,818],[391,433,549,840,841],[391,433,619],[391,433,459,476,547,613,615,617,618,818],[391,433,555,581,813],[391,433,555,746],[391,433,446,448,459,545,547,619,717,816,817],[391,433,535,536,537,538],[391,433,438],[391,433,712,713,714],[391,433,712],[391,433,448,450,459,541,547,574,579,756,784,814,815,818],[391,433,826],[391,433,828],[391,433,832],[391,433,834],[391,433,836,837,838],[391,433,842],[391,433,539,820,825,827,829,833,835,839,843,845,855,856,858,862,863,864,865],[391,433,844],[391,433,854],[391,433,615],[391,433,857],[391,432,433,605,739,740,742,803,804,806,807,859,861],[391,433,485,486,487],[391,433,465,485],[391,433,887],[391,433,888],[391,433,509],[391,433,510],[391,433,465],[391,433,1189,1190],[391,433,448,483,971,972,973,1189],[391,433,1189],[391,433,483,1189],[391,433,445,448,483,971,976,977,1189],[391,433,971,974,1188,1189],[391,433,1188,1189],[391,433,983,984,986,995,996,998,999,1000,1003,1005,1007,1008,1012,1013,1024,1026,1027,1029,1030,1031,1032,1033,1039,1040,1041,1042,1043,1044,1074,1075,1077,1078,1079,1080,1081,1083,1089,1143,1144,1145,1146,1148,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1188],[391,433,974,975],[391,433,974,975,980,989,992,993,996,997,998],[391,433,974,975,980],[391,433,974,975,980,988,999,1024,1025,1029],[391,433,1166,1188],[391,433,974,975,980,1023],[391,433,1002,1003,1004,1005,1006,1007,1008,1009,1010,1013,1022,1025,1026,1029],[391,433,980,999,1089],[391,433,974,975,980,982,1089],[391,433,1090],[391,433,974,975,1089],[391,433,974,975,980,1073,1080,1092],[391,433,974,975,980,1073,1089],[391,433,981,982,1090,1091,1092,1093,1094,1095,1096,1188],[391,433,974,975,980,981],[391,433,974,975,980,988],[391,433,1098,1099,1188],[391,433,974,975,1098],[391,433,999],[391,433,974,975,980,988,999,1000,1003,1005,1024,1026,1027,1028,1030,1033,1089],[391,433,1084,1188],[391,433,974,975,980,983,984,986,998,999,1030,1031,1075,1079,1080,1082,1083,1089],[391,433,1101,1102,1103,1188],[391,433,974,975,980,1101,1102],[391,433,974,975,980,1101],[391,433,974,975,980,1029,1032,1089],[391,433,980,985,986,1097],[391,433,974,975,980,985,986,987,1079,1080,1086,1089,1097],[391,433,980,1080,1081,1085,1089],[391,433,1005,1024,1030,1089],[391,433,974,975,980,985,990,998,1006,1028,1033,1073,1075,1086,1087,1088],[391,433,990,991,999,1012],[391,433,983,984,1089],[391,433,974,975,980,996,1024,1029,1030],[391,433,974,975,980,1034],[391,433,974,1035],[391,433,1034,1035,1036,1188],[391,433,974,975,980,983,984,985,986,988,989,992,996,997,998,999,1000,1003,1005,1006,1007,1008,1011,1012,1013,1022,1025,1026,1027,1028,1029,1030,1031,1033,1037,1039,1041,1042,1073,1074,1075,1078,1080,1081,1083,1085,1087,1089,1097,1100,1104,1110,1113,1118,1121,1125,1127,1135,1139,1142,1143,1144,1145,1146,1147],[391,433,990,991],[391,433,980,1024,1026],[391,433,974,975,980,996],[391,433,974,975,980,994,995],[391,433,974,1105],[391,433,974,975,980,1089,1105,1106],[391,433,1105,1106,1107,1108,1109,1188],[391,433,974,975,1089,1107],[391,433,1168,1188],[391,433,980],[391,433,1111,1112,1188],[391,433,974,975,980,1111],[391,433,974,975,980,985,986,1039,1073,1080,1089],[391,433,980,985,1039,1075,1097],[391,433,974,975,980,1029,1030,1077,1080],[391,433,974,975,980,985,986,988,998,999,1028,1030,1031,1033,1073,1075,1076,1078,1079,1089,1097],[391,433,974,975,980,1014,1017,1018,1020,1024],[391,433,974,975,980,1014,1016],[391,433,974,975,980,996,1020,1024],[391,433,1014,1015,1016,1017,1018,1019,1020,1021,1188],[391,433,974,975,980,996,1015],[391,433,974,975,980,1017],[391,433,974,975,980,1014,1017,1018,1019,1021,1024],[391,433,980,986,1039],[391,433,974,975,1033],[391,433,974,975,1189],[391,433,974,975,980,1000,1033],[391,433,974,975,980,988,999,1001,1027,1028,1029,1031,1033,1089],[391,433,974,975,980,988,998,999,1079,1082],[391,433,974,975,980,992,1024,1026],[391,433,980,996],[391,433,974,975,980,1041],[391,433,1037],[391,433,974,975,980,1038,1039,1040],[391,433,974,975,980,983,1089],[391,433,974,975,980,985,986,988,999,1073,1074,1075,1080,1082,1089],[391,433,974,975,980,1029,1030],[391,433,1114,1115,1116,1117,1188],[391,433,974,975,980,1033],[391,433,974,975,980,1116],[391,433,974,975,980,1004,1024,1029,1030],[391,433,1119,1120,1188],[391,433,980,1029,1122],[391,433,1122,1123,1124],[391,433,980,1005,1007,1122,1123],[391,433,974,975,980,988,999,1000,1028,1030,1031,1033,1089],[391,433,974,975,980,988,999,1000,1028,1030,1032,1033,1089],[391,433,974,975,980,1040],[391,433,1126,1188],[391,433,1012],[391,433,974,975,980,1011],[391,433,974,975,980,985,986,1039,1042],[391,433,974,975,980,985,986,988,998,999,1028,1031,1033,1043,1073,1074,1080,1089],[391,433,974,975,980,983,984,986,988,998,999,1033,1039,1042,1073,1075,1089],[391,433,974,975,980,1129],[391,433,1128,1129,1130,1131,1132,1133,1134,1188],[391,433,974,975,980,1133],[391,433,974,975,980,988,999,1089],[391,433,1054,1055,1136,1137,1138,1188],[391,433,974,975,980,1005,1029,1030,1031,1033,1054],[391,433,974,975,980,1044],[391,433,974,975,1006],[391,433,1045,1046,1047,1048,1053,1057,1072,1188],[391,433,974,975,980,1021],[391,433,974,975,1017],[391,433,1049,1050,1051,1052,1188],[391,433,974,975,1016],[391,433,974,975,980,1020],[391,433,974,975,1005],[391,433,1056,1188],[391,433,974,975,1055],[391,433,974,975,1066],[391,433,1067,1068,1069,1070,1071,1188],[391,433,974,975,1060],[391,433,974,975,1061],[391,433,974,975,1062],[391,433,974,975,1063],[391,433,974,975,980,990,991],[391,433,974,975,980,1012,1024],[391,433,980,1003,1005,1024],[391,433,974,975,980,999,1004,1024,1029],[391,433,974,975,980,1065],[391,433,974,975,980,1140],[391,433,974,975,980,1000,1065],[391,433,1058,1059,1060,1061,1062,1063,1064,1065,1066,1140,1141,1188],[391,433,974,975,980,1008,1058,1060,1061,1065],[391,433,974,975,980,1022,1058,1059,1060,1061,1062,1063,1065,1066],[391,433,974,975,980,1022,1058,1059,1060,1061,1062,1063,1064,1066],[391,433,1171,1172,1173,1174,1188],[391,433,974,975,980,1176,1178,1180,1188],[391,433,974,975,980,1170,1177],[391,433,974,975,980,1179],[391,433,974,975,980,1176],[391,433,974,975,980,1170,1184],[391,433,972,974,975,980,1097,1186],[391,433,1177,1179,1181,1182,1183,1184,1185,1188],[391,433,1170,1175,1186,1188],[391,433,979],[391,433,971,972,973,974,975,976,978,980,983,984,985,986,987,988,989,990,991,992,993,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1037,1038,1039,1040,1041,1042,1043,1044,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1085,1086,1087,1088,1089,1097,1100,1104,1110,1113,1118,1121,1127,1135,1139,1142,1143,1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1159,1160,1161,1162,1163,1165,1167,1169,1187,1189,1190,1191],[391,433,974,1188,1189],[391,433,445,483,971,972,974,1188,1190],[391,433,976,978,1148],[391,433,910,911],[391,433,910],[391,433,910,911,912,913],[391,433,908,914],[391,433,914],[391,433,908,909],[391,400,404,433,476],[391,400,433,465,476],[391,395,433],[391,397,400,433,473,476],[391,433,453,473],[391,397,400,433,453,476],[391,392,393,396,399,433,445,465,476],[391,400,407,433],[391,392,398,433],[391,400,421,422,433],[391,396,400,433,468,476],[391,421,433],[391,394,395,433],[391,400,433],[391,394,395,396,397,398,399,400,401,402,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,422,423,424,425,426,427,433],[391,400,415,433],[391,400,407,408,433],[391,398,400,408,409,433],[391,399,433],[391,392,395,400,433],[391,400,404,408,409,433],[391,404,433],[391,398,400,403,433,476],[391,392,397,400,407,433],[391,395,400,421,433,481],[391,433,1210],[391,433,1210,1211,1212,1213],[391,433,1212],[391,433,1208,1231,1232,1234],[391,433,1208,1209,1221,1234],[391,433,1199,1206,1208,1209,1217,1234],[391,433,1214],[391,433,1199,1208,1209,1217,1230,1233,1234],[391,433,1208,1209,1214,1217,1234],[391,433,1208,1231,1232,1233,1234],[391,433,1208,1214,1218,1219,1220,1234],[391,433,1199,1204,1206,1208,1209,1214,1217,1218,1219,1220,1221,1222,1224,1230,1231,1232,1233,1234,1235,1238,1239,1240,1241,1246],[391,433,1199,1206,1208,1209,1217,1218,1231,1232,1233,1234,1239],[391,433,927],[391,433,917,918],[391,433,915,916,917,919,920,925],[391,433,916,917],[391,433,925],[391,433,926],[391,433,917],[391,433,915,916,917,920,921,922,923,924],[391,433,915,916,927],[391,433,945,1247],[391,433,529,534,907,945,946,1196,1247],[391,433,907,945,1247],[391,433,529,533,534,905],[391,433,534,906,945,946,949,1196],[385,391,433,529,534,907,946],[391,433,446,529,907,944],[391,433,946,948,955,957,958,964,965,970,1193,1194,1195],[385,391,433,529,534,907,928,946,956],[385,391,433,529,928,946,956],[385,391,433,438,529,907,928,946,956],[385,391,433,529,534,904,907,928,946,956],[391,433,946,959,960,961,962,963],[391,433,928,946],[391,433,946,947],[385,391,433,529,534,907,928,946,956,967],[391,433,967,1247],[391,433,946,966,968,969],[385,391,433,529,534,907,928,946],[385,391,433,529,534,907,928,945,946,1192],[385,391,433,529,907,928,946],[385,391,433,529,534,907,928,946,950,954],[391,433,529,534,1196,1247],[391,433,949,950,1247],[385,391,433,529,949],[391,433,529,534,906],[391,433,906,907,914,928,945],[385,391,433,518,529,900],[391,433,870,874,901],[385,391,433,529,870,872,873],[391,433,874,901,902,903,904],[391,433,902],[391,433,491,494,527],[385,391,433,519,520,521,522,523,526,527,528],[293,385,391,433,519],[293,391,433,518],[293,385,391,433,519,521],[391,433,519,520,521,522,523,524,525,526],[293,385,391,433,519,520],[293,391,433]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"10b981156c3bd1db5b9146245e30473e1fa2b58c98346f8acdb7538947df3365","957f26931c2ed5af42709bad6abb710f43631371014ef4c81fac9d5f419d4249","447f663a195a5c8d2c4ba312f9115387092f87269f630010e00c5972f64deec5","600dc6bc372ea5db0ecf68eef984fd5d509bef523ab355230a76ed227781de11","4e7d11e3921bd8923d16ce24d0d3e56053dba6f9c683ab63674c7d2bb0298a06","e0ad30d8cc36c538119167dae544bee3c93daefb2269553a8e45a02a87534257","f06dd40409e73885ed1daecf8afdc0ba400c84bc921742be9fe4a63fdbf03cdc","f1c72d16f8460774f81d19edc0669252a2fa32de15c5d0c5024b6c7e213587de","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","0e8cab67ed21b45b6103c42d45abb001b7f5c03a8404a787c2adb76582bebc29","4d9c5742d3c56b0aa7f9aece6be317528d9e99f9ccccbc99f39848b7a0a47205",{"version":"6b2c934c2b6c60c98da8d9427d6838665d4fe8efb2659547663d77a3ef3ac5d9","impliedFormat":99},{"version":"43e0d6f59701298bc7ad00e73386be01dec35a0a955db7585778f7defcda70c9","impliedFormat":99},{"version":"a46fefd2d219c22b10266294269555f5ab0b13237b2a719377b6c6192a62843e","impliedFormat":99},{"version":"82805e8dbdf5f2605a4089c11a495acc7fb2f3d3eebbe510a4c8c0f60f4201c0","impliedFormat":99},{"version":"29b71c9dd8dc2c9c586344b9df653d286ecd016c0d96e6b8365232d97a09aeb6","signature":"90a7f63042f65787545de34aed99d033ecd44acda26ec6f55983f3f1f01f9fc3"},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"dad97c99382889e9c7d1a9d8275500ff71235130fae9f8916fdbf3641d56e592","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"6715dc4eb59c8ea9abe2b78c235ed331dc710a06fe56798868dbc4d40cd1b707","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69dbe5d61d2f298046513598f55bd1e719c50dfd6af2f9feea6fc84f8aa3c4bf","impliedFormat":99},{"version":"6a78643fbbf1b0bd954a53d4edfa217b6a5f92d357fa9cdf8d2ee430f96b9472","impliedFormat":99},{"version":"2ebe2f0255b6f301ba7bc0e10c3dda289c6cf1876f289f7a8f6444613d988e5e","impliedFormat":99},{"version":"012b5083a47ccbe050763f8df2be89daa50c1606e9a0bb31f64276d508c02d78","impliedFormat":99},{"version":"790ed69a8312f812298f3d5329e1a5198576009a8214feefa7a8d5f9dbc25046","impliedFormat":99},{"version":"96c709e09fddb3e146cdc39df645f1fde76c2bbe8f455180112af4b36811dbcf","impliedFormat":99},{"version":"aeae6c24b13d1a0c7bbc1aa2119ba91562c1b0ef89aa5aa41b1b6bb85a03887f","impliedFormat":99},"601b4cd190002b9c10d9378ea87fec82e499fa43ff3a4e9f1a14580104c61dee",{"version":"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","impliedFormat":1},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"3a5cda2463d20d696dfc87fcdfc4066307802cd6a07fb73932280446c7cb74f3","impliedFormat":99},{"version":"c1c545c407e4ad166b8285ae063ffffdc8f33ac38504acbaae8cc5692b9da7bb","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"ffd8877d71bd60e6490cd30b26a070f5ae29427477965e60c71394e1545e214f","impliedFormat":99},{"version":"f9fa0f246d000ebe3a77dee7c66db017ca7b65ae76a3a026fe36356bc7815a5d","impliedFormat":1},{"version":"0fcd9cd895e08e23c26d4819de6be35c3880ac703670702416fc284c65d3e180","impliedFormat":1},{"version":"f4272c1409ba5ce42d17be35575083f37dfe282284cc5e350d5fa60481ff44eb","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"5589e7f5a94a87a8dfc60e7bc81a610376925053a659f183606c3d76d3f92f84","impliedFormat":99},{"version":"d4a98ba517f71f7b8ab85f158859cdfc42ad9926e8623fc96337014e5d4dbb5b","impliedFormat":99},{"version":"94c33d70bcda3c3f98b8262340cd528344142133dbc8fcc7e2d4b2589b185db7","impliedFormat":99},{"version":"d11667aa2a6063fde3c4054da9ab98e3b9bc7e3da800beaca437f1eff2a17fe2","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"e8fc8d807069e0f94d481106510fae66792e6a66f330c45fd3c769053cfa5608","impliedFormat":99},{"version":"4c57148a2cb7736c37a7ca128fc8adec5a683413663c17604a28da143ca1a65b","impliedFormat":99},{"version":"37a5b233da6141bd6cd4e78dd8bcd9c0dd29e33ec10707cb57c66304cf743e46","impliedFormat":99},{"version":"c8e1a516135ad6fd057ddc5a01036067ff3b43b3277d18f1eb4c5df22630b50b","impliedFormat":99},{"version":"7d8b55f6b9e7a7a003063ecd596c72c23fe6d8225d6cf3e00e8b375059123513","impliedFormat":99},"55fb0f8cb5ac66d36524d612cec1415df09c4d4da07ba63fe38221e81a4b0737","5fffb2abb62be3e554943b079c8ef2d5dd4bb8373a54aab173284a96bd4ce774","4a11be49f47787b1e86cf27657d31fb3c98a1c65a935623d149db3cbfd8e5eca","f7ecddc329fe39c3e157a4d760d314d9fa9362d5d834a101d18b48d59f9f32f4","29b50dbd1c5c334e78a8ec8361a88be3079316f901c39b66615b41a660162dc0",{"version":"bf8716970ea00cdd194ce9d937048a9d36facefd56a4619b6dc1811d07fef85f","signature":"2c5decbc52563b489e4603e734e75ba64818a395a88d6640089460b43e6dc1c0"},{"version":"e45c2c8e531449a9746c3dc9f55fc2b9648d49757a65f25cfa3b916cd022befa","impliedFormat":99},{"version":"2883531900a29e3c7e6f8bf3a7835bce035cfb20748d8d0cfc287896c46d739e","impliedFormat":99},{"version":"22d5bafc272a4f1b6bd1aee054f08ac09a9cd90ea1a321fb9c563ae4fa3df6d4","impliedFormat":99},{"version":"c8c94fc39100a0981f81b9e9872848597575b3e3fb40a36e99de688927cb20ed","impliedFormat":99},{"version":"01545f0274a774e191f06380ddedaec2b2dfbd021ca2e8775f7819959beb2cb4","impliedFormat":99},{"version":"6c557db1095e0588b7d82d9bdd9e4328872d436a94f2025da271d5ef57845309","impliedFormat":99},{"version":"2827790fc4a5c48d032a79a8d547eca0620d7fc7c997b830417f6de5b04c7c3d","impliedFormat":99},{"version":"3f12ba187e0dc6d3586fc24a52aa80c11e8e84eb742122735bbc6f3a91044d8a","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"88d0c3eae81868b4749ba5b88f9b6d564ee748321ce19a2f4269a4e9dd46020a","impliedFormat":99},{"version":"8266b39a828bfb2695cabfa403e7c1226d7d94599f21bea9f760e35f4ca7a576","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"a82f5ba70d26e6ad9d432ab7556506d807c49f35a44af99fb8054004220aaaa1","impliedFormat":1},{"version":"4e6852cb16272dc3b8fb8ea691786bfe1692328cc9ff84cd956819c194197e1b","signature":"ed5a2f839af76f67a9999ce4d22e491a631ea158db5eb81848d62ad2c9776b50"},{"version":"781f91caaf62d093b0add69b60a3cb83d9c20362b52a82adacf883ec0a23c033","signature":"6056f5384c48e11001bd5b7d351d6036324b329f975b5e54d2c2b71619f90606"},{"version":"f424c8f51165954727c5ac5684e0a08010dcabdaabb4ad639e98a78ae9cf25d2","signature":"43610e248c9c37f8c1e78b406e06083c9ed91bd6c9c55b1a226a058a052b2785"},{"version":"7578e80c8a86bc34c5afa17a3b7674a2cf064d7972b5a64e4937400ffb922503","signature":"3a64da2dbaaea64f4834264e3c7c3e3e1c3ada3482af3a66067153bca26c04a0"},{"version":"9e8c83a4fe3c9586d744895bf50082a98069a82879963d9f794233677062b6b7","signature":"1d0156bb3dd5c0b7f50916334e78f57e8cb964997e730eaae7a852bd6a877f73"},{"version":"1cff1196c629e4812cc62557f5cb29383346304c258040d1df509815a762e3f8","signature":"2a6864d8efb439165c54d06e1076537bfecae72743f0bf886d7d4dd037f326f1"},{"version":"48d6a957471129b99d914308ac07c534f97d9570be0ef18a9e6dbee803f59671","impliedFormat":1},{"version":"fd530c5bec0ec673875c3ca88020ad1d6cf724c536f3a8e4d25d7b096e88e645","impliedFormat":1},{"version":"90c7a9fda73928cef9023a41be545fce208546175e5b45bd988f24d4522c2a7b","impliedFormat":1},{"version":"46b55a125d671d7e1eca131a993aa0f6966a4c10e015870d430383ccb464769a","impliedFormat":1},{"version":"74157841482a1e6c20bdd62c224379a4e5f98273fe5bb96a38227ec797754fc3","signature":"a6d6b502d5540a0bca2599e1716f7b3e38098414643e16155cb2e2ca89427df5"},{"version":"d723aab8919102f129ac8f126476aea20469d473d4cc2ec5a5513c63db6d24b2","signature":"d89bd56539c435595b1f1c688996620c94c0fd23ef65b126888fe01314306b5a"},{"version":"55d3fda71889a9be10527628cc0ec7347c0dce82f3c6b065aca6b3b4d9dddac4","signature":"8dabb7da229d309e7c1dad66529738d7c7e9a996bad7c3528306dad59344393c"},{"version":"af1d5b0b743ece78d59b3f56a46eac3d268e1c76b206f6ede1e543b26686bcd1","signature":"1a2f8128d93bb919d77acfef684abdee88e6f20d47c82db7b4836687c5caf2a8"},{"version":"f7b84d9c044bfd556c3059c7f6745ac7bdfafd1079a3898985fbdb09b35e2e6a","signature":"a6b296f602aba5529247e545a1a605be0a27d26de6cd19f510be90f7d442b1ca"},{"version":"30834afe00e2431978fab6d8a2d7c667e5c2ddfc93040a5adebaa9ca47c91134","signature":"be26906fc7878c372ba4e3345e9f8d660cad52a8ab542f54c03905fc343ca67a"},{"version":"2d96493f4a45b5fc3561a99ab999f454cd4fd0466521ba243dfebafcb58f8583","signature":"39538655b001b1596e5a81601b451992b215a3b9aec2e1f6a355a9d72658fb2d"},{"version":"4cc348a2cbd1164fe6190aa04be8d60d9886e0b7a80312a4426523e5a33d90b8","signature":"2168d51351aa0f02446ec6be1744592b89e205c6993bb76594d5e53c7fd88123"},{"version":"b71ac14d1af43309c8f9a0876e3038947bfd8ab13f3ccabf04b76bf6eb67585d","signature":"1a561ee27e8a1ddc0383bdcfb28c2123c21cba6c7265cd0f5c1b914bae65b9b6"},{"version":"3def15280b77a6589f782a5f0b166a70aa07100e1a66e6faf4230e89fef8a371","signature":"162636cd28c27613e25108fc42519b74aa1bb731061c2f79aaaa3e6990787c2f"},{"version":"1cd8ac77d7d317226675c1063c5bc4c7ede480430b23a3a6e6b1e2cffb55a180","signature":"eb8ccfb4bb7653b462874e9ac28cdcd06d5c7743395195235d5a6671f071ad80"},{"version":"3b93fbee920bc3e83d27b15ab5d51a3a0cfa659bcc02771f9b228d8d87a26324","signature":"b63384aa94fb277d9ed1804c4f977de32a7981cccb9bb16df78a37397e34a913"},{"version":"3e7d6c619f13df0ff9c8ec72d65a47bf35eeeb2f7b6350b3b772b33a54b59735","signature":"4699cefd08ee01d20fc0cec135658f1986d913ddda5194753bad90931e076251"},{"version":"faadf78b1eea5c5c636416f349dabed9b560e7b25695a381268eb7483fb44e04","signature":"e8c384ca4cc77bbfc1bae06be3326c9219578b2ed57e90c900dfa5ef1ac5b6cd"},{"version":"3ad28945749213d26d7dcb7d28118301ffb04188031e52e07ebad9b2cc04ab6b","signature":"3aa0da83ae0c3df9fb3280e5e9535cabbc42546528154ed89d0184d9cb8738e8"},{"version":"5e8db61271ab510b2d7ac90e9dac30d467d5533731971b97e317bbe9a01a45e5","signature":"4bf32da7c20e2ecaea578d9a23b34b2ced48ad4a618b009339b01e0bedf1ae12"},{"version":"529e8d544daef015d9b7e08f3327f487ff5c1fdc9ae00969b90fe6d7f662c410","impliedFormat":99},{"version":"32d72e24ec52676fbd422d6109ba2e7326f8cb0ae09d62433609994d772b1218","impliedFormat":99},{"version":"68d7aecae568155de73f47abea696482d07d82e531829d344b5b4f2feaffc9b7","impliedFormat":99},{"version":"94c34f6addbb8215972c16680f4e122977830a4a6b72a191302915f6e6fbcacb","impliedFormat":99},{"version":"97c9b25718cea0d37894c5dd9f7e7fff4f8bcbc56ca3bba011c074560be291f1","impliedFormat":99},{"version":"abfdbcd2e417125d1b38209aa079bfec08b42611feedaebf29be8676e74c43cc","impliedFormat":99},{"version":"6d7a5d9f2190bd6d5086a130b3ef5231d7bc8a3d923133628544b265611a3afc","impliedFormat":99},{"version":"9d8acc6859de780646cb2ad73bf0b48f20f83adab18d614ba9b4f87c6046b6bd","impliedFormat":99},{"version":"7debb6b27ee0e7383618739a56fd13d9332d58a97eb1001f57ec2d4c1f133536","impliedFormat":99},{"version":"828968bfd8325c1e6b427043673be3aee122dd5125ea5ff3adcdb56cb62ac202","impliedFormat":99},{"version":"29862235bb48e3e8892a5e95aa464810a6c0282ca549f4c0f65cc2329c4ed90a","impliedFormat":99},{"version":"6b1af69b824a18b7f06a0637a1799f6697d0e0af215a2e70c7438b7413d408bf","impliedFormat":99},{"version":"3ec9cc0d5ff3509a3800802248b56f72d0bd4ddbbf4ced7238ced162f6792bf9","impliedFormat":99},{"version":"b09e328891c9b6c1e363a0dabc2b7e9bbab7ce95f4c1a42e3ebc1cb957aebe2e","impliedFormat":99},{"version":"853230b380bc84877c7e691af167bde176c500e716074acb02668713ae1b92f7","impliedFormat":99},{"version":"a861ffb4131dc6c01a9918b0c2d9eb907963a363019c8cf8441c195cc7271eb3","impliedFormat":99},{"version":"7dbfd2dc59802603b4d9d9cd35bfa777da1cd030ffc78f618701772d70c44d7a","impliedFormat":99},{"version":"0d40d64f4e5b821a820ca61cd3338fed6feaea4734081098ab99bf8b22b7a558","impliedFormat":99},{"version":"441d1761b0cdea56381964395929a7dc78cc8294f07550a4a7cbd7a471982d49","impliedFormat":99},{"version":"0a5ea01b61f08bb7fe4aee10e148a43bd63cd09c0e48c80c81853a31c63e81f1","impliedFormat":99},{"version":"0765436722d07c50dd64a72cb2ca2b828ae4d8b6c58cce1c7d69b16ed69b911f","impliedFormat":99},{"version":"a99b58cde0c933aafa9a6d539796dd39a2b6faa5868b9329611b7820e4813ed2","impliedFormat":99},{"version":"b70468dd5cce06b4500b9c744b46645bb0810bbb3f16d6f6d8a6ba099d3e3db3","impliedFormat":99},{"version":"fcad406a5312d678f0e3d9ce37e175fc3108075dda7507b33de434d815db8c3a","impliedFormat":99},{"version":"637470d7618d80acc44ce21720e911b1956fb8f35fcd7c29fca8b676569257fd","impliedFormat":99},{"version":"bbc35778ba8327cc2595d22a0492b38a4f5a23c156fe83a4f6c16e16d771a80d","impliedFormat":99},{"version":"1bf505b116e5c3adb7a621d3177726ec218b39b6fbb343a5ca9131bb4c4e4a2e","impliedFormat":99},{"version":"f8f793150b733a84ba31dc32b764f914c2b9f7ba3da22392c8700729556311de","impliedFormat":99},{"version":"52308301ab0721bea0c29c5a3286fc9af801f77107c76860958c7af512fe1db3","impliedFormat":99},{"version":"08c2ae2038dae5a129561b998d69712081de02df044668ef7c6f1a79064a781d","impliedFormat":99},{"version":"1e5ac74ec58a751a57547db79f5d0c7f55de7103b3cd608df9b865f1c20e6ec0","impliedFormat":99},{"version":"3217478b66cbc150f70691f22995b9f47d37706a904299a00cb293f8bed70a5b","impliedFormat":99},{"version":"757b25663615b67539b212022e464ab8738fe9584798abd2f1dfee3ae2bed28a","impliedFormat":99},{"version":"a4965dec5a8d5a1bd151f788d8e1e2300c4314907adc4b70e205df9bf1de1846","impliedFormat":99},{"version":"61da0187f4a66053b80903d118bcc49835a09085597419f001300e16190087b6","impliedFormat":99},{"version":"aba7430768196c0d2dda6ad7660d4bd1ce5abb9394d5ec506fddf897cd055c17","impliedFormat":99},{"version":"fef0d18210f7853a843ec8f6d8169ed6659d9cacb7a21b4e1ccc52d79cecf503","impliedFormat":99},{"version":"a20601b31b50dfe52cb6a3790977b2499dba3f590621a4a241b6b7a5a408b788","impliedFormat":99},{"version":"4d0d48b4534a83b374888c23427400974ad8e61c7d0e20c8b6e9f1ee1bc7a264","impliedFormat":99},{"version":"c89ecda51758810cde711384913cef5a52a609b120f7ff5b1b158781e8ef4a8c","impliedFormat":99},{"version":"b784c2ceea6c1279bff4ab353e5a5c5b358fde3c734fdecf85cc1db5cb44c93d","impliedFormat":99},{"version":"c08fb9233e497eb092616e3081963b6dd70103bba3ff633c072d6d944eae134e","impliedFormat":99},{"version":"3ce717047d8aa7993d8ac3c05c1719af4a4c7299bd7d2e9bda09a93b5fc3597c","impliedFormat":99},{"version":"6cabcbf5e998efa2549a3534d71f4535495687ad53f1fe345d055f5147421cb9","impliedFormat":99},{"version":"e36268446e141d540bd29d35391c14533d2de4562f2068dbfb14f5aade8813e2","impliedFormat":99},{"version":"a800401f4995f7c204a7b05fbf53224caa6f1fdc124f48aa0d0ee562cf0972d4","impliedFormat":99},{"version":"2ba4df558ac06d48bd02cc5e9c2d8a5afb3836f1d6dfbb6ff26e90b68b66e5e5","impliedFormat":99},{"version":"00780c8bb96ae1bbc2d2379b4c1ec281e708fe52ebfda507f24aa4e0c9789023","impliedFormat":99},{"version":"a73a5fd3317e948b66fa07917d15e09d94dec119897e1de780158d01cea83fd1","impliedFormat":99},{"version":"73ab4609ca508c47e721501314e36423f34f12a735fb04bbc65670a33be6ceae","impliedFormat":99},{"version":"1ae2b0f08ab3e4a81809202b17856d144be48ac64428917c7b54f5e1965a4a48","impliedFormat":99},{"version":"85d558cd59d2350273b116c240ead34786f00245c2bf147c65ffc79410e29a5e","impliedFormat":99},{"version":"816caf3469d8486812807a1eecf3b2bff4fa654abbbf07a97c4f553819ec5106","impliedFormat":99},{"version":"e25134537f026144b7cede6aea49973bed30afc37b36d1d36e6130888bc7d234","impliedFormat":99},{"version":"5c62f873da6df6521abedd307fc544d6736d04604ae168233a63e4ee38ddce51","impliedFormat":99},{"version":"58e0c95210443e453ee55336f21bb03e770430bd19722041a77a2e86fc73df95","impliedFormat":99},{"version":"0e5bf871c5afa81fd718a5b276f6a7670846ed459db52fa477267d6b9584e5d8","impliedFormat":99},{"version":"22ca8010367254aeee193d066acb7beba74fcb28c8e197bc4a4b4e4a6c3cbd54","impliedFormat":99},{"version":"a9dee488ffe1e2d5c36fcb6d051ddbab991490e1bc181824592af3e47b9590ae","impliedFormat":99},{"version":"691368eb85eb6dda063458d34b2061e66aceff8caa03305960ce1ce2596973a0","impliedFormat":99},{"version":"1b453d29404e04659bb343c2b3b1f4e5b0c980993b2b618683d748175c758798","impliedFormat":99},{"version":"991b5667ea0268fc249e7aaa8f61b546edf4ddfc5c75446b60bad452f323eb4f","impliedFormat":99},{"version":"f3c0ec27b2c3321fcea0bd90f06b3bbc036a4c53d56547a3546d3e98aa6dbabb","impliedFormat":99},{"version":"3240b3195a4a6f07397873c3d3d781d6bdac6daffef7d0e9404df25696b83821","impliedFormat":99},{"version":"8f15effea4aaabc51743128521875aba6e565e414f6d7d3311b8c2d2578e18a4","impliedFormat":99},{"version":"bd03a8a341fd6c86470267cdb4ffad025d1e31e2930c7b1b99cea0ea8ab1104c","impliedFormat":99},{"version":"db3f11cb9d283a2f6bd72d40f552921e7df63b33c8f953fc666c0c25f89a9544","impliedFormat":99},{"version":"f0c704f2d6e9a1c1af817d64c475e3060a6b61bdfe839b5d2080ea9305f09887","impliedFormat":99},{"version":"ba4471d25a0c25e54f245fbf35359e420fcd148594041a984ed021ac12c515c9","impliedFormat":99},{"version":"7ecccd7c8eb4c52bccfb5e30db1a681e6df544ffdb2e23c565b0e2765fa0c5bc","impliedFormat":99},{"version":"814ff646ef9d7ec28c867d20acdb6ab2ecc2e7620c4f06c8f5412c83e3518e7e","impliedFormat":99},{"version":"361753ee88631c6d574eceef6db3a2b73424517609fb289b37ee2b2f44762a3c","impliedFormat":99},{"version":"08fc36c68fbfb312a2a3378498c16c6db9609837cc00cd9aafeb778fb2887a03","impliedFormat":99},{"version":"b45410e6065c05621fcd1969b5afae0829cd4f0def82c8180b5302a283195798","impliedFormat":99},{"version":"74ddb9a384676ffa1e7910e5a50615c21afa55473e8f38bc38050ff2255c2d7f","impliedFormat":99},{"version":"f673abb24aaa4a63c541eef767d22e443799ddc5ab30a2269d646682a4946394","impliedFormat":99},{"version":"0c1d42ef8bcac5f74e1113e96712f5fded4971c452911263db62d98f9f51cb82","impliedFormat":99},{"version":"97e3516942284b694f1f503c8b27ecfebc229e7e190e99eb2b94da3059d0f81e","impliedFormat":99},{"version":"f0ca722c0c74e4ac885706e69e65291f8947ac5e7fae8df529cf70248bcee262","impliedFormat":99},{"version":"a90c4ed5b632a156a7682988502d5bfefc4048ff4c41d0fa505badc0c3892545","impliedFormat":99},{"version":"376eef489231c1d626a6f24d89c1029d907ad7918c0a7191419ee6be69cf90ab","impliedFormat":99},{"version":"84a68486a1e143e34a165bdc64707e74d33118a1c6adde37591223503d4e8870","impliedFormat":99},{"version":"71d6cca9ebf54d9b498f684827c00002b1cead83eb441356d49d4ce1c9759301","impliedFormat":99},{"version":"ed603cbd399f1e16d867c0498432a0c5a2be988e1162e311cfc188e919b08264","impliedFormat":99},{"version":"07012806da1431175d778c424b18c305f44bd83941851ce17d181cd46aaa3562","impliedFormat":99},{"version":"cc0af6c56da3ab10ddac0b3c805d652bf0521be6b04f83afb9baa4df1415b313","impliedFormat":99},{"version":"b7aeb363b1649acac16d5b469685e2a067ff4dc8b0b2125bca941dbb6d63e7c0","impliedFormat":99},{"version":"365add36523973ead594068a69de6a4aa5503bfed8eddd670414dfac63944876","impliedFormat":99},{"version":"83347d14f89b7d139ce2791c99b35d2b94440d76968393709964ced55b6fd85f","impliedFormat":99},{"version":"7c124c9680eb1e83dac58588d8adba36bf737ac6b3e84779b57fd2df143b137e","impliedFormat":99},{"version":"ae7cc7b326cfb2845cd76f39e445d68a5832ee3e9297615c296bb87f8f9f1c81","impliedFormat":99},{"version":"db70fa65c1194a3707ac38814e7c27321de530660b36c029bf2a4987ce89b319","impliedFormat":99},{"version":"ec22e0ef253901f5af0faf767e6a1a8bd23fb0308f282dd03b8da7097ba44973","impliedFormat":99},{"version":"63c818016d858b372d05593bfcfbf5ffcd8898e0a3877057b24f7de6a4fe9abc","impliedFormat":99},{"version":"4d9bb1151b6d71e58d9333ec33e2a20c09ce5baaf20b08d70f7ea1a4ded3c682","impliedFormat":99},{"version":"53580dd58259b91b24f63dc36083414558cab65cd622e88c3a6ba403c753c44a","impliedFormat":99},{"version":"5a72a1a08a5a56f38b2ef6a39dd31c59e0e9ba59c7d480dbdec8cac0c3d2c9c5","impliedFormat":99},{"version":"41dc9805e5387625abb6466f9dad47048aab6cfc4a49885a17a65e662ca6d055","impliedFormat":99},{"version":"aa39ccd035dcf30f31ae0cd380e4d9e265c24e4e0914cd2e7862a392d74314b3","impliedFormat":99},{"version":"fde1d645673ad1273c0a347e97528e7830f4877c1fc58966a4a7ff386977aaac","impliedFormat":99},{"version":"aed8029500a40d0b604a1925f0ad677e9b2319a95afbf38168689c5a771389af","impliedFormat":99},{"version":"41931e7f38f9d140b01f98af2234df54cd48e640012fc7ec781e8d49bef24ba5","impliedFormat":99},{"version":"c0c93965e04da47f347f8ca064d35848d46df9674d087fcc6f0c1b4ae6e93582","impliedFormat":99},{"version":"5a7c8905855ce422199dcd9f09c4c776ceb66c91198e459e13fe72c0f067b63f","impliedFormat":99},{"version":"f9f583970f896ce64d652ad2d446be0c9c86bbf1edba79c319bac296c3ae51a1","impliedFormat":99},{"version":"b9c289167bc15bfbd04b01165d9ba6794ff9c633d72d7da8b990d359ca8d7e2b","impliedFormat":99},{"version":"b64d7e023d522acc0195da49af07a1dab57165a58f6d87b5f750f12786065344","impliedFormat":99},{"version":"feaeadcfe3c44fbf3dd427110db8adf8cefe45dffde44c5ba6a743e15b39a366","impliedFormat":99},{"version":"6944a8f65e43f69e025dd6c9c9c812d34be4544ea9bc7b7c02a5b7ba2f558d84","impliedFormat":99},{"version":"0a87063988c2bca33973431320c220a3d8785d727f163184231bc5550b2c7ef0","impliedFormat":99},{"version":"57e468e73b39b2acca2ebb9e7afd847c6d3c6a8f41663da32f2aeaba5b097dc6","impliedFormat":99},{"version":"2930836e99dd2487442b71968ef1761a57f431e10b7c4ef3d62709c09bbe5240","impliedFormat":99},{"version":"91ba95d318aa35b2e383b7cc3655c56701010c3d7428e1decdb4ecd6981dadce","impliedFormat":99},{"version":"56b556db5061b0ff674cc06a708d7c6674f05f03de1c94d29c52cee5ed86922f","impliedFormat":99},{"version":"e62ef9a4c1e94586a6718189ba5be349b9a5f222169c16353f270ba0ed7da65d","impliedFormat":99},{"version":"752de46112146307379db6263890bf0a48c47f87a33335fabf53543e246e60d9","impliedFormat":99},{"version":"d9e55de2e36ed1d789753b2890ead19a590406c934bf15f5c7ea43ce6fa78ac6","impliedFormat":99},{"version":"06b7ca3e1c5036f619676330c1f754b1fcab751bbf42edce96bf1819cb6986b4","impliedFormat":99},{"version":"6fdf2d53dd4c8b74d28f26ede7b2e4c0cd3d3480f13f24fcdb89405bf88180b4","impliedFormat":99},{"version":"019e3d5c3097cbcd014394ce6943ee7eb4857948bf5951dd5c048254f3e6dd96","impliedFormat":99},{"version":"02c24f59a057d82eca00a59a2b17c9d10fb7f24b9d4875fba491959a6b5521e0","impliedFormat":99},{"version":"a53ec27d1cf48bb349d4564eecdf9f07bf5b1bcf2781d0a966411152316bd006","impliedFormat":99},{"version":"513c4869a1961af24e40b59a23ce4312682e9275288409870c40496aa389caa6","impliedFormat":99},{"version":"ee1a2bbd2002638a9625fd7fba1ab1e183559bfb68146f571ed7e4f4cf72d009","impliedFormat":99},{"version":"bc87842e67e3876a7194c5d64198b4829416dd8c8973601b3d64e7f766376363","impliedFormat":99},{"version":"c7741d898b0bbb21e03d0b8b12bf5baffe664c862b4d4425c998cc6b7a990705","impliedFormat":99},{"version":"873eca5a1a7017ebf220122e4e53dc3a6a3d2870d3ff5b171ad8f79b9b8aefd1","impliedFormat":99},{"version":"b08f9a4096d9be0571dd7dcb8d5882e2c57b3d35285e36d5fb14412baf947623","impliedFormat":99},{"version":"399dc26e4eb6aadaafbccca2cfe58c6fc2c815bdcc0ec437549a0b0c87ae5e37","impliedFormat":99},{"version":"0c4d7b8498cba32d6b066a604ebe085abc646298e6ecb6369f3a96ebb774572f","impliedFormat":99},{"version":"00627e9d43b0bfd72b337c90bfc9014fa72e8247ce5dd1495d59236b4aad3a8a","impliedFormat":99},{"version":"3af1b0691303967f388f600d28350ff71e3c4a9dee3056682620850440b6c03e","impliedFormat":99},{"version":"fa7c18eb36a647a628bc9b8389e7b09660f01bf3db4885362efc820589b54b48","impliedFormat":99},{"version":"41f025e7098cbdf6b6e18a7112385b0fab4b1c0f3f9f80dfb55dcc4429b880c0","impliedFormat":99},{"version":"86ebb0cdb36cc752597ae8d300148180d8eec489f6025ea5911fa2cbecece081","impliedFormat":99},{"version":"727a4bf89e28dc475c5f9316eece04b14a4b6b9ab277834364239e2f1d2cd9f7","impliedFormat":99},{"version":"e734b00337e9fc0a8e83365a26428106f479dcd1abc73a8779967bc827f11e3a","impliedFormat":99},{"version":"243fcd2ad3ecad05cb2e71c231ca596bc3c6c4e489e1619c52649f0e546dd26d","impliedFormat":99},{"version":"f0bb27764e181cceed0bb72f109d8b36ea2707b0f225d715f46654bb9b016393","impliedFormat":99},{"version":"118febbc2df8a862260272bba28eb7461715e1dd281b32d19da6248757350e87","impliedFormat":99},{"version":"e67ace7307642b735b7e96bb97ff9138690acebab53eaed61347427753e4d1e1","impliedFormat":99},{"version":"87a8be4c77085ca8144892dc15708da857c6a0c4013b470520831405fae88533","impliedFormat":99},{"version":"2499f46ec67f9e5204492d07e9026b1bce446d5da2d1bb4a10ae0c4447a289af","impliedFormat":99},{"version":"116c79190f08958c32c45a4f72fdcdf58df72416b32b1d54d6947b13c850201c","impliedFormat":99},{"version":"4d5a44f03a7ab2527a59afa9d14fd6bc43e37cfb98c3ea667fd46a572fe89bc2","impliedFormat":99},{"version":"3979accfb06995b82ea963a62b176ff8dbf1af7e69071b3092d1d2e6036c3cec","impliedFormat":99},{"version":"e2404517591b13257cafcab1ec9d70a2d346ed5318fed639fd699107a21545cf","impliedFormat":99},{"version":"1c787e56dba48445aa569557505d5768a3a61522392c7c25953464047b849e2f","impliedFormat":99},{"version":"0ac9ec624ddcf056cf7a2c7d60d8325b741ab9bf80cc5c18449c7e1ee75ad118","impliedFormat":99},{"version":"5681612b1dc37cf330b971d4f1f77fc48cbadc18c654f34e1a0416a99fa2c709","impliedFormat":99},{"version":"df3d6522a17005c6d7c495338111427eb02490ed1377228918c255c3b26a5be1","impliedFormat":99},{"version":"4f819f882eaf41c8e1f0d9272c5bbba78f2023ba3fe9596e240160502ff210f9","impliedFormat":99},{"version":"62880ea3cb43d6cbeaecb6d6960bba625a670806cd82eb960ba2a2aeab736eac","impliedFormat":99},{"version":"8e1605d1a47bf1dc3de175bae994f49372014e8ba6497933d2cb299c408dda09","impliedFormat":99},{"version":"3106b775494342e60566941c9dd32bcd3380179bf525edf6626da1ddcbcd3632","impliedFormat":99},{"version":"41b136e657c05de5bf2aa8639221233f31af4b631626c6754c22560549e91a6c","impliedFormat":99},{"version":"b4632f6b4b271a0f6493a15493d0f09427ea6a9b9b549835a81dd31718dbd19b","impliedFormat":99},{"version":"424263d511a2b06f5b574cb8caa6913ce277d964147ee6cf503a8f7869431622","impliedFormat":99},{"version":"91f6140bfa7d4cf2261063d9537451a20d74fc43e53450225ee9e665016b1ff0","impliedFormat":99},{"version":"36a765deb941f868aa002fa67b4809f5bb47a10ff66a15add6dfd26e330afb19","impliedFormat":99},{"version":"6f4233b155fb5052e2f583356c523fabd40dd3a9aaef05c694e6bbe538c9c27d","impliedFormat":99},{"version":"668cf592e0904f4c34423c081350dc92c1d475a9c52889ffee29149da79fdd0f","impliedFormat":99},{"version":"3e33611f899366ec8fd1dd6920684b5a5fb9572ca05f1a12f401440923fdf21b","impliedFormat":99},{"version":"079a065101f29951aac337a2308f942c6d93296b8340f2b5004aa48aa289562c","impliedFormat":99},{"version":"3bff6d4ded0ddb4d2e704f1d274292d9cbb65ff60a8ba8595bfdce822321a736","impliedFormat":99},{"version":"91ab85a45434660cb3367c73142543efc66a5fa8e5a2ca954a8e1af4581605ef","impliedFormat":99},{"version":"d9cfc4635923eb5c22406f97afdaa0272115af9cfe0fa3f33cd96fa5589187e6","impliedFormat":99},{"version":"f7c3dd2a55fd5136bebb43583a30ed46da2cf5e6afbc17222b9ceedad5b7383d","impliedFormat":99},{"version":"f688655ca29d12dafe5897efb7063979c9eb590e62358504629225003e841d34","impliedFormat":99},{"version":"057739a174619fd0ed493f452fc14a667284fe44f0a08310b31a7f6422b84b06","impliedFormat":99},{"version":"c93faec8d643450e5e92f08e34be9329cd7f57a456deae018059e3d7b5f7b928","impliedFormat":99},{"version":"124d28a946ba2b461c2ce75a511124420bd7fdcd699051d905d72d509480d6d6","impliedFormat":99},{"version":"82ab37de5dad558cf74f37a6a033f189480181f8ddf2ea096a60ac28925e1869","impliedFormat":99},{"version":"1cb84b25ea1ecb1900ba700c4907eff062b82b17af512aadef921f76242bec89","impliedFormat":99},{"version":"de0d1b781852e2255de97ce91986df37a025f541b8926851ba1435b693ab864f","impliedFormat":99},{"version":"edce5ab61d202d17d023694b94990c99ef2fef531f705361bfcb82f6a256758f","impliedFormat":99},{"version":"0fe6c53bfea404986540d104103db46224830f6912963c90d20f4c195c7000aa","impliedFormat":99},{"version":"bcb657aab954c02a8a48b50236bb889091167c651673e15d016a2e1978ce2691","impliedFormat":99},{"version":"a126ffd129b033365e8162598efba980ca90bfc0a6cc41d5152fce11896d56e7","impliedFormat":99},{"version":"66c5847742803134b02bf07c53997c8dab3e4bb4ff428ef861a2450bf7744f61","impliedFormat":99},{"version":"3e80ac50e17c60be70575505005c9c28fd69150273ced8d50d73eed68cfdbf16","impliedFormat":99},{"version":"67022bb9c3b2174baf06917f426d832e447b2e6865be713b9fc18082ea437a51","impliedFormat":99},{"version":"1f3a97a978eaaf934f1f92682bf05bcfc11b8b4a00821d6e4d8c7d6bcff0fc79","impliedFormat":99},{"version":"a771f93d971c945eacad088d558d2015aca8ac0bc533ada8e317f3883f105f32","impliedFormat":99},{"version":"d5d9ba4cdb84bb2cb3207bb01e4ba70ac6ba3432cf6963b028c06388b0cd8656","impliedFormat":99},{"version":"cdb6410d699f7e0833b9e30c344c541c7ee94abe6959a4b714eb98dcda4bfa29","impliedFormat":99},{"version":"9fc6a5e9bb59cf074c5f26e636291aca55429165b98a5ecff9aa4830518f6588","impliedFormat":99},{"version":"3f0a17b44c005c05b97d6c225f6e55141ed3a08fc8b80325b83d3837c911b1ae","impliedFormat":99},{"version":"e635757f7088be7d099538d9cbc5e555782993605879b530ab5f1993312928af","impliedFormat":99},{"version":"292673f53fe0a33f69ce57ca0a4816c6e93e7213af687247021ab6fb3fef3f69","impliedFormat":99},{"version":"0e6ef2d24419cca5b5f020f5f926c24a8a50fb77062feb87f0d759b4455c31b3","impliedFormat":99},{"version":"5b67e62aa4c0817a18ed22992e3a328f2b6402bd2ee4f9ae2dd66a3c3486529a","impliedFormat":99},{"version":"e4e21d158ac452364c3bff7b7899ef0b0515d7abb8e8e596a0bb5e893e5a4f84","impliedFormat":99},{"version":"74d927443bacd8d7d92a6a377a728e74b1a3ced3c5d96bc04634abb234ed3a8e","impliedFormat":99},{"version":"94c3242169324a0b2212dc12395d17aab5a96b23267f03e0e4142e2cc134c7ec","impliedFormat":99},{"version":"4a2770e5c1e17db9373ebd92981ba74ca2059fc1f7c88491e401875fd298dc7e","impliedFormat":99},{"version":"a6ffcc079abed93c28a5b74bfa4ed694e8d810b21ca649523e098d126791432d","impliedFormat":99},{"version":"ba669ede8b934c54f211323b782c1b65e423db29965a4c68ca3e8bd984033f10","impliedFormat":99},{"version":"cfa6e2117c4f2855c7a4866d03a146c4d2dbd65e7eee5e0182298e630ea8f7af","impliedFormat":99},{"version":"50596833b2659cbe98f138d233ab3da041734f73a82e96873ccb5056a94f3389","impliedFormat":99},{"version":"75dd74b7c8bde65a3fe491d088b671b75c60ea6a5795c651d8f929dec7bfd0d8","impliedFormat":99},{"version":"621cd97ca6ba2df7b66b773cd4e0126f959d56db59bbc262dfe627e9c0b89841","impliedFormat":99},{"version":"e19cf00b7cc08a6559f1fd47bd100c54d5989a96973b58a8980490f285fe18a8","impliedFormat":99},{"version":"cbbf88f53c2d00ec848ea9781ff435afbd6776f9dae08ba685e6f64a33711984","impliedFormat":99},{"version":"20c145001d9d205002526fa1c26151b8942b3efa99409442aa1f0c55f8a97e26","impliedFormat":99},{"version":"8615e46872d20ffe0a8ff44b9ce593f64f79a8d309ac4859e8b59906f9aa8762","impliedFormat":99},{"version":"4416521a9e7133d2e680e2977251ff783416b6bd03c5cd75bb4f47a98c128b3c","impliedFormat":99},{"version":"31d45c45e7b924c77c906237b00fe87358cc25e5e6d4771ac96c1da382b47c94","impliedFormat":99},{"version":"25a333b9b2020a43a5c4a75c277741c7ede6c01461105b5d0768aaa461de6938","impliedFormat":99},{"version":"cd154bdd2fc6cf16712e99dd953c7d0a00aa6ee37c7235f04f516cd7a2e23095","impliedFormat":99},{"version":"8672389ff1c732976deb46c971a8c21f98bdb6ea7ee73632216679d2d3a1d723","impliedFormat":99},{"version":"13346c4fc0d11d920ceb9c423a5699a77e9fc3cdf1a503bbea3f545b72ed4736","impliedFormat":99},{"version":"e107d19bb5575d072a6ef55c1d7c92df4364b7790e27ef034d43fcf11088f314","impliedFormat":99},{"version":"676d3c55c65df11cb1445503548bd4038373ce1c1e17fa1261a554df225802bd","impliedFormat":99},{"version":"a8ea887074dfa326c0b81b7726adfcf73da08b02f6d12dcc4b51ae874be45a20","impliedFormat":99},{"version":"ec1a0bd6e9cf024cbfdeeed1524c9c00b409b661871007fd4f61b22b16b597f9","impliedFormat":99},{"version":"a75c3ddc29c89704de18a47258b33ffa4236e89d2a6c7ef64d00d9b3a593ccf2","impliedFormat":99},{"version":"0e638ebfddb73f8a5b07d61da9496e3d95de249e92929970898c3725d509b0dd","impliedFormat":99},{"version":"aa6c68ae030bc57e2cf901448a1ab94f340bab7dfe544b45f8469ecc8fb11e54","impliedFormat":99},{"version":"b66fa60a872678cef7d7b8439b1ccb4b87b09aa2cede6e1dd893445fbaa07d63","impliedFormat":99},{"version":"f6c181d754f301199d23bd69d50733b29864682b7b5f714edab4841e50b0fd3c","impliedFormat":99},{"version":"eddddd25770a1b5deff6e3d5e83b57f25f90addf14ff89bee3c90867f855a4a4","impliedFormat":99},{"version":"ce8fe2e844dab8d2a6024fd1161e1a86800d2d83385cfd37de543a0445d09852","signature":"2d5cb9dfe80d3391d665308d9b1eb4909537094fef86c145695d94816b3245bc"},{"version":"19fd024da0861620adcea5d685abaab76e4c8b0503050b5668b8f6e7eaa742c7","signature":"18eaffa01060741793fa65c92bd20079d403d508fe4609d4b1d6976f981b47be"},{"version":"645e7ed5ff0b05934b46bdab8f3a5858cd185388d1e6a89f34a85b97c6e9093c","signature":"898a027732f978d4efda27ee476a134e43e6a934514e5a7e1eef9fc50b56e24b"},{"version":"9cc3659806ed767c2da857fa279b41ec766cb9286ccd996af81bc35dc04de7d7","signature":"7fcd2915958a1bc274ec660557d8a40a01860984c3cbe7d0f384c00c6fd3bdfa"},"da5484dc1b28a0c471c4f63f1845d1528a687179e3ce7612b183a4bc0c96b716",{"version":"6754ebd1cd458ddbb814bbecac8b7b928e342f18c00c9cfc2fed941384b223ea","signature":"fa3c1719a4e5e5a3b19c8b124733c76b092cf222343bf771042c55a4ba23a5d8"},{"version":"3a582c6e8906f5b094ccf0de6cc6f4f8a54b05a34f52517aba5c9c7f704f6b28","impliedFormat":99},{"version":"0528f6d21f7a02d4092895090d2dd86104bd5a3e79eced96d5a1a7dd90943d17","impliedFormat":99},{"version":"b5ce343886d23392be9c8280e9f24a87f1d7d3667f6672c2fe4aa61fa4ece7d4","impliedFormat":99},{"version":"72ce5b734c05da85c85a6f6dc05823b051d6aa41acaedeeb1d17c72f3b4efa72","impliedFormat":99},{"version":"b0857bb28fd5236ace84280f79a25093f919fd0eff13e47cc26ea03de60a7294","impliedFormat":99},{"version":"5e43e0824f10cd8c48e7a8c5c673638488925a12c31f0f9e0957965c290eb14c","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"49ab4f1d153a252779958fc87b700743d32b5ffa42addd70ae23ad3f429daa5c","impliedFormat":99},{"version":"53cf4076f42b29b8d411259d168d51b3a0274c42c8814e5b44dfa8803a35d4fc","impliedFormat":99},{"version":"a39461ee1f27cf3e6cfd63d21045713d26d521da55ea4d8efccb705f689e6dbb","impliedFormat":99},{"version":"61bb64660ee150f3ab618340e15cca0a81664801bede7c966ca0eca3a952fe63","impliedFormat":99},{"version":"a7ca8df4f2931bef2aa4118078584d84a0b16539598eaadf7dce9104dfaa381c","impliedFormat":1},{"version":"10073cdcf56982064c5337787cc59b79586131e1b28c106ede5bff362f912b70","impliedFormat":99},{"version":"72950913f4900b680f44d8cab6dd1ea0311698fc1eefb014eb9cdfc37ac4a734","impliedFormat":1},{"version":"36977c14a7f7bfc8c0426ae4343875689949fb699f3f84ecbe5b300ebf9a2c55","impliedFormat":1},{"version":"ff0a83c9a0489a627e264ffcb63f2264b935b20a502afa3a018848139e3d8575","impliedFormat":99},{"version":"42a12f2faa483c9b48195ed794d22698162274e755f6e07219c2351c4f08d732","impliedFormat":99},{"version":"ec0c42bb0f465e4993f2bc68a6ce9df9a2dcbc7b83e21748f82f1b69561938e3","impliedFormat":99},{"version":"f50ff37a9cbbe74475f426474d9827083c7c2c138a954d28f1690df338f69291","impliedFormat":99},{"version":"61fd6c17235d530c40f543dd7c40afab091d91c1ef890baeed30db6d82b04b28","impliedFormat":99},{"version":"bcbd3becd08b4515225880abea0dbfbbf0d1181ce3af8f18f72f61edbe4febfb","impliedFormat":99},{"version":"091767bc841f937654ed597d49e023ed59850355e746ae1a6f20ab31076ee1fb","impliedFormat":99},{"version":"19c6d6135af59693698d384050b45a8a049493500add442f58e4bd7c8a255ab6","impliedFormat":99},{"version":"6a0dba12d55314638a8c51108b20fe2f68f1364a619d098918bda91c22dec154","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"4ead13a482c539b77394b2a97e3b877b809eac596390371cea490286f53b996a","impliedFormat":99},{"version":"06db2f8ba1d1dfacf04529cb731081ab23f133f29c7608ebdfbcab356996827c","impliedFormat":99},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"5c935b7fc4ddc1410ea1cd7cd4e35ed106a6e4920dd27a9480a40fd224359dc3","affectsGlobalScope":true,"impliedFormat":99},{"version":"2b39c6cf59088713babbfc3e20ee85f1375d40e66953156fa658346b8346f24f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"6987dfb4b0c4e02112cc4e548e7a77b3d9ddfeffa8c8a2db13ceac361a4567d9","impliedFormat":99},{"version":"4ffba3c5848b4fe62ee59b754fd5f256ad9656a0db6d37b9a2a8cb40dfc7ac21","impliedFormat":99},{"version":"c76c02846ba7d40b9b3488f0e8d75d02cbdee2f0bc5fcd55dd3bd2e1457646ea","impliedFormat":99},{"version":"5e2ba3d18d78aebbde1f34bde356e41e9c76eeaeaeee56a37036596a9eff4211","impliedFormat":99},{"version":"8280ae8ccc0493b32d1742d585357ab9f0a508ea050af25a5a20d64010d0a5cf","impliedFormat":99},{"version":"7adfd9f9056ecd4ae6c65fde2a98654960c662714c73f048478959d04c09e144","impliedFormat":99},{"version":"32b35cf0dc3a1b1a7118b61c34ce2ad1a29695851679f9ec34e0776f2ece2a69","impliedFormat":99},{"version":"b413fbc6658fe2774f8bf9a15cf4c53e586fc38a2d5256b3b9647da242c14389","impliedFormat":99},{"version":"59e5e964b84fdb2378e9455e4e59405030e4ed2b4c6f891ce395f17796af3cbb","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"64db14db2bf37ac089766fdb3c7e1160fabc10e9929bc2deeede7237e4419fc8","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"90ba95a763101bb61b8a799731a2ed60b5016b8135c1a2d5186862d4b534d4a1","impliedFormat":99},{"version":"8e9b84bb5753e12338955d809df91e1aecb30ae7694a42924f0403c5a384df07","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"625ad7db98c5285e0316f386781f4e248202ec6b81f6a119bacb0b7e9b99202d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2219c59b065964ea360dd46279cfddb05dc65087bc24b473a22219d8e9de327f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8b344907e7dcabe9451420384ae1ee8be1783eab2a42031c3af8466fdfbf5e94","signature":"ca5ad4ada07952d46cf3bd93a555fa522e1ba75c0d077d573bb942ed8331dc15"},{"version":"12e19a23fcbca6ead1f210742f4cb48ad9fc20ee20fedb4a7ca06db4a4d989b1","signature":"a034d5b2ed55f8d8f04c40136d06f2b971cd01b13796c3a2b08e8d24dd232258","affectsGlobalScope":true},{"version":"5d1f78d9b66da196b603d8f85b215d705497595bb6237df70c55e33b14fb0f57","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe57bf02ea26f012ef3f6e43e100b2b20018ecc93324cc7d88faf0ad9b9b39e9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[534,906,[945,950],[955,970],[1193,1198],[1248,1254]],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":200,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[895,1],[882,2],[880,3],[878,4],[877,5],[881,6],[876,6],[879,7],[883,8],[885,9],[889,10],[891,11],[894,12],[890,13],[892,5],[893,14],[884,1],[886,15],[517,16],[869,5],[504,17],[502,18],[500,19],[499,5],[503,20],[497,20],[501,21],[505,22],[507,23],[495,5],[511,24],[514,25],[871,26],[516,27],[513,28],[515,29],[512,5],[506,16],[508,30],[498,5],[900,31],[896,32],[897,32],[898,32],[899,33],[717,5],[1226,5],[533,34],[530,5],[532,5],[907,34],[531,35],[1229,36],[875,5],[1227,5],[430,37],[431,37],[432,38],[391,39],[433,40],[434,41],[435,42],[386,5],[389,43],[387,5],[388,5],[436,44],[437,45],[438,46],[439,47],[440,48],[441,49],[442,49],[444,5],[443,50],[445,51],[446,52],[447,53],[429,54],[390,5],[448,55],[449,56],[450,57],[483,58],[451,59],[452,60],[453,61],[454,62],[455,63],[456,64],[457,65],[458,66],[459,67],[460,68],[461,68],[462,69],[463,5],[464,5],[465,70],[467,71],[466,72],[468,73],[469,74],[470,75],[471,76],[472,77],[473,78],[474,79],[475,80],[476,81],[477,82],[478,83],[479,84],[480,85],[481,86],[482,87],[491,88],[490,89],[489,88],[944,90],[1230,91],[1237,92],[1238,93],[1236,5],[1199,5],[1208,94],[1207,95],[1231,94],[1215,96],[1217,97],[1216,98],[1224,99],[1223,5],[1206,100],[1200,101],[1202,102],[1204,103],[1203,5],[1205,101],[1201,5],[1228,5],[934,104],[931,5],[933,105],[932,106],[941,104],[940,104],[942,107],[939,108],[937,104],[938,104],[935,109],[936,104],[382,110],[91,111],[331,112],[90,5],[93,113],[380,114],[381,115],[89,5],[383,116],[164,117],[108,118],[131,119],[140,120],[111,120],[112,121],[113,121],[139,122],[114,123],[115,121],[121,124],[116,125],[117,121],[118,121],[141,126],[110,127],[119,120],[120,125],[122,128],[123,128],[124,125],[125,121],[126,120],[127,121],[128,129],[129,129],[130,121],[151,130],[159,131],[138,132],[167,133],[132,134],[134,135],[135,132],[145,136],[153,137],[158,138],[155,139],[160,140],[148,141],[149,142],[156,143],[157,144],[163,145],[154,146],[133,116],[165,147],[109,116],[152,148],[150,149],[137,150],[136,132],[166,151],[142,152],[161,5],[162,153],[385,154],[92,116],[202,5],[219,155],[168,156],[193,157],[200,158],[169,158],[170,158],[171,159],[199,160],[172,161],[187,158],[173,162],[174,162],[175,159],[176,158],[177,159],[178,158],[201,163],[179,158],[180,158],[181,164],[182,158],[183,158],[184,164],[185,159],[186,158],[188,165],[189,164],[190,158],[191,159],[192,158],[214,166],[210,167],[198,168],[222,169],[194,170],[195,168],[211,171],[203,172],[212,173],[209,174],[207,175],[213,176],[206,177],[218,178],[208,179],[220,180],[215,181],[204,182],[197,183],[196,168],[221,184],[205,152],[216,5],[217,185],[493,186],[494,187],[492,188],[96,189],[288,190],[223,191],[258,192],[267,193],[224,194],[225,194],[226,195],[227,194],[266,196],[228,197],[229,198],[230,199],[231,194],[268,200],[269,201],[232,194],[234,202],[235,193],[237,203],[238,204],[239,204],[240,195],[241,194],[242,194],[243,200],[244,195],[245,195],[246,204],[247,194],[248,193],[249,194],[250,195],[251,205],[236,206],[252,194],[253,195],[254,194],[255,194],[256,194],[257,194],[276,207],[283,208],[265,209],[293,210],[259,211],[261,212],[262,209],[271,213],[278,214],[282,215],[280,216],[284,217],[272,218],[273,142],[274,219],[281,220],[287,221],[279,222],[260,116],[289,223],[233,116],[277,224],[275,225],[264,226],[263,209],[290,227],[291,5],[292,228],[270,152],[285,5],[286,229],[104,230],[97,231],[146,116],[143,232],[147,233],[144,234],[342,235],[319,236],[325,237],[294,237],[295,237],[296,238],[324,239],[297,240],[312,237],[298,241],[299,241],[300,238],[301,237],[302,242],[303,237],[326,243],[304,237],[305,237],[306,244],[307,237],[308,237],[309,244],[310,238],[311,237],[313,245],[314,244],[315,237],[316,238],[317,237],[318,237],[339,246],[330,247],[345,248],[320,249],[321,250],[334,251],[327,252],[338,253],[329,254],[337,255],[336,256],[341,257],[328,258],[343,259],[340,260],[335,261],[323,262],[322,250],[344,263],[333,264],[332,265],[100,266],[102,267],[101,266],[103,266],[106,268],[105,269],[107,270],[98,271],[378,272],[346,273],[371,274],[375,275],[374,276],[347,277],[376,278],[367,279],[368,275],[369,280],[370,281],[355,282],[363,283],[373,284],[379,285],[348,286],[349,284],[352,287],[358,288],[362,289],[360,290],[364,291],[353,292],[356,293],[361,294],[377,295],[359,296],[357,297],[354,298],[372,299],[350,300],[366,301],[351,152],[365,302],[94,152],[95,303],[99,304],[384,5],[1244,305],[1246,306],[1245,307],[1243,308],[1242,5],[943,309],[930,310],[929,5],[954,311],[953,312],[952,313],[951,5],[518,314],[870,315],[868,316],[867,317],[872,318],[873,319],[820,320],[825,321],[832,322],[815,323],[573,5],[581,324],[721,325],[724,326],[696,5],[709,327],[716,328],[598,5],[698,5],[579,5],[695,329],[741,330],[580,5],[571,331],[723,332],[725,333],[726,334],[797,335],[690,336],[643,337],[703,338],[704,339],[702,340],[701,5],[697,341],[722,342],[582,343],[767,5],[768,344],[609,345],[583,346],[610,345],[646,345],[550,345],[719,347],[718,5],[708,348],[810,5],[559,5],[831,349],[775,350],[776,351],[772,352],[849,5],[673,5],[777,5],[773,353],[854,354],[853,355],[848,5],[624,5],[676,356],[675,5],[847,357],[774,5],[629,358],[636,359],[638,360],[628,5],[633,361],[635,362],[637,363],[632,364],[630,5],[634,365],[850,5],[846,5],[852,366],[851,5],[627,367],[841,368],[844,369],[617,370],[616,371],[615,372],[857,5],[614,373],[603,5],[859,5],[860,5],[861,374],[542,5],[705,375],[706,376],[707,377],[546,5],[710,5],[566,378],[541,5],[789,5],[548,379],[788,380],[787,381],[778,5],[779,5],[786,5],[781,5],[784,382],[780,5],[782,383],[785,384],[783,383],[578,5],[575,5],[576,345],[730,5],[735,385],[736,386],[734,387],[732,388],[733,389],[728,5],[795,5],[570,5],[819,373],[826,390],[830,391],[664,392],[663,5],[658,5],[806,393],[814,394],[691,395],[692,396],[770,397],[680,5],[793,398],[668,5],[685,399],[796,400],[681,5],[684,401],[682,5],[794,402],[791,403],[790,5],[792,5],[688,5],[766,404],[554,405],[666,406],[670,407],[686,408],[689,409],[678,410],[671,411],[813,412],[744,413],[662,414],[551,415],[812,416],[547,417],[737,418],[729,5],[738,419],[755,420],[727,5],[754,421],[540,5],[749,422],[574,5],[769,423],[745,5],[560,5],[562,5],[700,5],[753,424],[577,5],[601,425],[687,426],[607,427],[667,5],[752,5],[731,5],[757,428],[758,429],[699,5],[760,430],[762,431],[761,432],[711,5],[751,415],[764,433],[661,434],[750,435],[756,436],[586,5],[590,5],[589,5],[588,5],[593,5],[587,5],[596,5],[595,5],[592,5],[591,5],[594,5],[597,437],[585,5],[653,438],[652,5],[657,439],[654,440],[656,441],[659,439],[655,440],[567,442],[645,443],[809,444],[807,5],[836,445],[838,446],[802,447],[837,448],[555,449],[552,449],[584,5],[569,450],[568,451],[564,452],[565,453],[572,454],[600,454],[611,454],[647,455],[612,455],[557,456],[556,5],[651,457],[650,458],[649,459],[648,460],[558,461],[798,462],[599,463],[801,464],[771,465],[799,5],[800,5],[694,466],[693,467],[674,352],[660,468],[642,469],[644,470],[641,471],[763,472],[665,5],[824,5],[563,473],[765,474],[808,475],[672,5],[602,476],[679,477],[677,478],[604,479],[739,480],[803,5],[605,481],[740,481],[822,5],[821,5],[823,5],[805,5],[804,5],[742,482],[669,5],[639,483],[561,484],[618,5],[545,485],[606,5],[828,5],[544,5],[840,486],[626,5],[834,5],[625,487],[817,488],[623,486],[549,5],[842,489],[621,5],[622,5],[613,5],[543,5],[620,490],[619,491],[608,492],[683,67],[743,67],[759,5],[747,493],[746,5],[631,367],[553,5],[640,5],[811,378],[818,494],[535,5],[538,5],[539,495],[536,5],[537,5],[720,496],[715,497],[714,5],[713,498],[712,5],[816,499],[827,500],[829,501],[833,502],[835,503],[839,504],[843,505],[866,506],[845,507],[855,508],[856,509],[858,510],[862,511],[865,378],[864,5],[863,5],[496,5],[488,512],[485,5],[487,513],[486,5],[484,5],[888,514],[887,515],[510,516],[509,517],[748,518],[973,5],[976,5],[979,5],[1191,519],[974,520],[994,521],[971,522],[978,523],[1190,524],[1164,525],[1165,526],[1150,527],[999,528],[1151,527],[1152,529],[1026,530],[988,5],[1167,531],[1166,529],[1143,527],[1144,529],[1024,532],[1023,533],[990,534],[1090,535],[1096,536],[1091,537],[1093,538],[1092,539],[1097,540],[1095,527],[1094,527],[981,5],[982,541],[1098,542],[1100,543],[1099,544],[989,545],[991,534],[1087,5],[1029,546],[1085,547],[1084,548],[1104,549],[1103,550],[1102,551],[1101,529],[1044,552],[1002,545],[1153,529],[983,529],[987,553],[1081,554],[1086,555],[1006,556],[1089,557],[1154,537],[1028,558],[985,559],[1007,560],[1035,561],[1036,562],[1034,529],[1037,563],[1155,527],[1148,564],[1156,529],[992,565],[1025,566],[995,567],[996,568],[1105,5],[1106,569],[1107,570],[1110,571],[1108,572],[1109,529],[1169,573],[1168,529],[1088,574],[1113,575],[1111,529],[1112,576],[1145,577],[1076,578],[1078,579],[1157,529],[1080,580],[1021,581],[1014,567],[1017,582],[1019,583],[1022,584],[1016,585],[1015,529],[1018,586],[1020,587],[1082,588],[993,5],[1000,589],[1158,590],[1159,591],[1001,5],[1030,592],[1083,593],[1160,529],[1161,529],[1033,552],[1077,591],[1008,594],[997,595],[1042,596],[1039,596],[1038,597],[1041,598],[984,599],[1146,600],[1114,601],[1118,602],[1115,603],[1116,529],[1117,604],[1005,605],[1121,606],[1119,567],[1120,527],[1123,607],[1125,608],[1122,574],[1124,609],[1009,5],[1027,601],[1032,610],[1031,611],[1079,612],[1127,613],[1126,567],[1147,614],[1012,615],[1011,5],[1043,616],[1075,617],[1074,618],[1128,527],[1129,574],[1130,619],[1135,620],[1131,529],[1132,529],[1133,574],[1134,621],[1040,529],[1010,5],[998,622],[986,529],[1136,567],[1137,527],[1139,623],[1054,529],[1138,527],[1055,624],[1045,625],[1046,626],[1073,627],[1049,628],[1050,629],[1053,630],[1051,631],[1052,632],[1047,633],[1057,634],[1056,635],[1048,529],[1067,636],[1072,637],[1068,638],[1069,639],[1070,640],[1071,641],[1162,642],[1013,643],[1004,644],[1003,645],[1058,646],[1059,646],[1140,5],[1141,647],[1066,648],[1142,649],[1060,648],[1061,648],[1062,650],[1063,646],[1064,651],[1065,652],[1175,653],[1172,527],[1171,527],[1173,527],[1174,527],[1182,527],[1177,574],[1179,5],[1181,654],[1178,655],[1180,656],[1183,657],[1185,658],[1184,659],[1186,660],[1170,5],[1187,661],[1176,5],[1163,529],[980,662],[1188,663],[1192,663],[972,5],[977,521],[975,664],[1189,665],[1149,666],[912,667],[913,668],[914,669],[909,670],[911,5],[908,671],[910,672],[1232,5],[1225,5],[87,5],[88,5],[14,5],[16,5],[15,5],[2,5],[17,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[3,5],[25,5],[26,5],[4,5],[27,5],[31,5],[28,5],[29,5],[30,5],[32,5],[33,5],[34,5],[5,5],[35,5],[36,5],[37,5],[38,5],[6,5],[42,5],[39,5],[40,5],[41,5],[43,5],[7,5],[44,5],[49,5],[50,5],[45,5],[46,5],[47,5],[48,5],[8,5],[54,5],[51,5],[52,5],[53,5],[55,5],[9,5],[56,5],[57,5],[58,5],[60,5],[59,5],[61,5],[62,5],[10,5],[63,5],[64,5],[65,5],[11,5],[66,5],[67,5],[68,5],[69,5],[70,5],[71,5],[12,5],[72,5],[73,5],[74,5],[75,5],[76,5],[1,5],[77,5],[78,5],[13,5],[79,5],[80,5],[81,5],[82,5],[83,5],[84,5],[85,5],[86,5],[407,673],[417,674],[406,673],[427,675],[398,676],[397,677],[426,5],[420,675],[425,678],[400,679],[414,680],[399,681],[423,682],[395,683],[394,5],[424,684],[396,685],[401,686],[402,5],[405,686],[392,5],[428,687],[418,688],[409,689],[410,690],[412,691],[408,692],[411,693],[421,5],[403,694],[404,695],[413,696],[393,518],[416,688],[415,686],[419,5],[422,697],[1211,698],[1214,699],[1212,698],[1210,5],[1213,700],[1233,701],[1222,702],[1218,703],[1219,96],[1240,704],[1234,705],[1220,706],[1239,707],[1209,5],[1221,708],[1247,709],[1241,710],[1235,5],[928,711],[919,712],[926,713],[921,5],[922,5],[920,714],[923,715],[915,5],[916,5],[927,716],[918,717],[924,5],[925,718],[917,719],[1252,720],[1253,721],[1254,722],[906,723],[1197,724],[534,5],[1198,496],[956,725],[945,726],[1196,727],[957,728],[1194,729],[965,730],[961,731],[963,728],[959,728],[962,728],[964,732],[960,728],[947,733],[948,734],[969,735],[1248,736],[967,5],[970,737],[966,728],[968,735],[958,738],[1193,739],[1195,740],[955,741],[1249,742],[1250,743],[950,744],[1251,745],[946,746],[949,5],[901,747],[902,748],[874,749],[904,5],[905,750],[903,751],[528,752],[529,753],[522,754],[519,755],[523,756],[520,756],[527,757],[524,758],[521,758],[526,759],[525,754]],"affectedFilesPendingEmit":[1252,1253,1254,906,1197,534,1198,956,945,1196,957,1194,965,961,963,959,962,964,960,947,948,969,1248,967,970,966,968,958,1193,1195,955,1249,1250,950,1251,946,949],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/api/package.json b/packages/api/package.json index eb45b1b9..2f4ee1f3 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -18,7 +18,7 @@ "scripts": { "lint": "eslint .", "typecheck": "tsc --noEmit", - "test": "vitest run" + "test": "node ../../node_modules/vitest/vitest.mjs run --config vitest.config.ts" }, "dependencies": { "@query/auth": "workspace:*", @@ -42,4 +42,4 @@ "typescript": "6.0.2", "vitest": "^4.1.8" } -} \ No newline at end of file +} diff --git a/packages/api/src/.internal-tests/resilience.test.ts b/packages/api/src/.internal-tests/resilience.test.ts index 1c310bd4..109a581b 100644 --- a/packages/api/src/.internal-tests/resilience.test.ts +++ b/packages/api/src/.internal-tests/resilience.test.ts @@ -1,124 +1,136 @@ -import { describe, it, expect, vi } from 'vitest'; -import { sanitizeInput } from '../middleware/security'; +import { describe, it, expect, vi } from "vitest"; +import { sanitizeInput } from "../middleware/security"; -vi.mock('@query/db', () => ({ - db: {} +vi.mock("@query/db", () => ({ + db: {}, })); -describe('Resilience and Domain Edge Cases Verification Suite', () => { - - describe('1. Zalgo Character Abuse and Regex Performance Limits', () => { - it('should sanitize regular Zalgo text without hanging the event loop', () => { +describe("Resilience and Domain Edge Cases Verification Suite", () => { + describe("1. Zalgo Character Abuse and Regex Performance Limits", () => { + it("should sanitize regular Zalgo text without hanging the event loop", () => { // Combining character sequences - const zalgo = 'H\u033d\u0310\u0355e\u033d\u0310\u0355l\u033d\u0310\u0355l\u033d\u0310\u0355o\u033d\u0310\u0355'; + const zalgo = + "H\u033d\u0310\u0355e\u033d\u0310\u0355l\u033d\u0310\u0355l\u033d\u0310\u0355o\u033d\u0310\u0355"; const start = performance.now(); const result = sanitizeInput(zalgo); const duration = performance.now() - start; expect(duration).toBeLessThan(50); - expect(typeof result).toBe('string'); + expect(typeof result).toBe("string"); }); - it('should handle massive combined character strings efficiently', () => { - const hugeZalgo = 'A' + '\u0301'.repeat(5000); + it("should handle massive combined character strings efficiently", () => { + const hugeZalgo = "A" + "\u0301".repeat(5000); const start = performance.now(); const result = sanitizeInput(hugeZalgo); const duration = performance.now() - start; expect(duration).toBeLessThan(100); - expect(typeof result).toBe('string'); + expect(typeof result).toBe("string"); }); - it('should handle long plain strings up to the maximum slice length', () => { - const normalLongString = 'b'.repeat(15000); + it("should handle long plain strings up to the maximum slice length", () => { + const normalLongString = "b".repeat(15000); const result = sanitizeInput(normalLongString) as string; expect(result.length).toBe(10000); // Truncation limit }); }); - describe('2. Malicious File Names and Character Overrides', () => { - it('should strip right-to-left override character U+202E from file paths', () => { - const maliciousName = 'photo-display\u202Egpj.exe'; - const cleanName = maliciousName.replace(/[\u200E\u200F\u202A-\u202E]/g, ''); - expect(cleanName).toBe('photo-displaygpj.exe'); + describe("2. Malicious File Names and Character Overrides", () => { + it("should strip right-to-left override character U+202E from file paths", () => { + const maliciousName = "photo-display\u202Egpj.exe"; + const cleanName = maliciousName.replace( + /[\u200E\u200F\u202A-\u202E]/g, + "", + ); + expect(cleanName).toBe("photo-displaygpj.exe"); }); - it('should strip right-to-left embedding character U+202B from string inputs', () => { - const payload = 'team-name\u202Bsecret.pdf'; - const clean = payload.replace(/[\u200E\u200F\u202A-\u202E]/g, ''); - expect(clean).toBe('team-namesecret.pdf'); + it("should strip right-to-left embedding character U+202B from string inputs", () => { + const payload = "team-name\u202Bsecret.pdf"; + const clean = payload.replace(/[\u200E\u200F\u202A-\u202E]/g, ""); + expect(clean).toBe("team-namesecret.pdf"); }); - it('should handle double file extensions safely without modifications', () => { - const name = 'document.pdf.png'; + it("should handle double file extensions safely without modifications", () => { + const name = "document.pdf.png"; const result = sanitizeInput(name); - expect(result).toBe('document.pdf.png'); + expect(result).toBe("document.pdf.png"); }); }); - describe('3. Webhook Ordering and Retries Idempotency', () => { - it('should reject outdated webhooks arriving out of chronological order', () => { - let currentSubscriptionStatus = 'active'; - let lastEventTimestamp = new Date('2026-06-10T12:00:00Z').getTime(); + describe("3. Webhook Ordering and Retries Idempotency", () => { + it("should reject outdated webhooks arriving out of chronological order", () => { + let currentSubscriptionStatus = "active"; + let lastEventTimestamp = new Date("2026-06-10T12:00:00Z").getTime(); - const processStripeWebhook = (eventType: string, eventTimestamp: number) => { + const processStripeWebhook = ( + eventType: string, + eventTimestamp: number, + ) => { if (eventTimestamp < lastEventTimestamp) { - return { status: 'ignored', reason: 'out of order' }; + return { status: "ignored", reason: "out of order" }; } lastEventTimestamp = eventTimestamp; - if (eventType === 'subscription.deleted') { - currentSubscriptionStatus = 'deleted'; - } else if (eventType === 'subscription.created') { - currentSubscriptionStatus = 'active'; + if (eventType === "subscription.deleted") { + currentSubscriptionStatus = "deleted"; + } else if (eventType === "subscription.created") { + currentSubscriptionStatus = "active"; } - return { status: 'processed' }; + return { status: "processed" }; }; // Delayed deletion webhook from earlier date arrives late - const oldEventTimestamp = new Date('2026-06-10T10:00:00Z').getTime(); - const r1 = processStripeWebhook('subscription.deleted', oldEventTimestamp); - expect(r1.status).toBe('ignored'); - expect(currentSubscriptionStatus).toBe('active'); + const oldEventTimestamp = new Date("2026-06-10T10:00:00Z").getTime(); + const r1 = processStripeWebhook( + "subscription.deleted", + oldEventTimestamp, + ); + expect(r1.status).toBe("ignored"); + expect(currentSubscriptionStatus).toBe("active"); // Newer deletion webhook arrives and gets processed - const newEventTimestamp = new Date('2026-06-10T14:00:00Z').getTime(); - const r2 = processStripeWebhook('subscription.deleted', newEventTimestamp); - expect(r2.status).toBe('processed'); - expect(currentSubscriptionStatus).toBe('deleted'); + const newEventTimestamp = new Date("2026-06-10T14:00:00Z").getTime(); + const r2 = processStripeWebhook( + "subscription.deleted", + newEventTimestamp, + ); + expect(r2.status).toBe("processed"); + expect(currentSubscriptionStatus).toBe("deleted"); }); - it('should prevent processing duplicate webhook event IDs', () => { + it("should prevent processing duplicate webhook event IDs", () => { const processedEventIds = new Set(); let transactionsProcessed = 0; const handlePaymentWebhook = (eventId: string) => { if (processedEventIds.has(eventId)) { - return { status: 'duplicate' }; + return { status: "duplicate" }; } processedEventIds.add(eventId); transactionsProcessed++; - return { status: 'success' }; + return { status: "success" }; }; - const id = 'evt_stripe_12345'; + const id = "evt_stripe_12345"; const res1 = handlePaymentWebhook(id); const res2 = handlePaymentWebhook(id); - expect(res1.status).toBe('success'); - expect(res2.status).toBe('duplicate'); + expect(res1.status).toBe("success"); + expect(res2.status).toBe("duplicate"); expect(transactionsProcessed).toBe(1); }); }); - describe('4. Poor Wifi Check-In Double Scan Handling', () => { - it('should prevent double check-ins under concurrent connection situations', async () => { + describe("4. Poor Wifi Check-In Double Scan Handling", () => { + it("should prevent double check-ins under concurrent connection situations", async () => { const inflightScans = new Set(); let recordsAdded = 0; const attemptCheckIn = async (scanToken: string) => { if (inflightScans.has(scanToken)) { - return { success: false, reason: 'in-flight' }; + return { success: false, reason: "in-flight" }; } inflightScans.add(scanToken); - await new Promise(r => setTimeout(r, 10)); // Network delay simulation + await new Promise((r) => setTimeout(r, 10)); // Network delay simulation recordsAdded++; inflightScans.delete(scanToken); return { success: true }; @@ -126,63 +138,64 @@ describe('Resilience and Domain Edge Cases Verification Suite', () => { // Concurrent execution simulating multiple button clicks in less than 5ms const results = await Promise.all([ - attemptCheckIn('scan_user_x'), - attemptCheckIn('scan_user_x'), - attemptCheckIn('scan_user_x') + attemptCheckIn("scan_user_x"), + attemptCheckIn("scan_user_x"), + attemptCheckIn("scan_user_x"), ]); expect(recordsAdded).toBe(1); - expect(results.filter(r => r.success).length).toBe(1); + expect(results.filter((r) => r.success).length).toBe(1); }); }); - describe('5. Discord Grapheme Safe Channel Name Truncation', () => { - it('should truncate channel names with multi-byte surrogate pairs safely', () => { + describe("5. Discord Grapheme Safe Channel Name Truncation", () => { + it("should truncate channel names with multi-byte surrogate pairs safely", () => { // 4-byte unicode values (using unicode escapes for emojis) - const compoundEmoji = 'A\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66'; // family emoji - + const compoundEmoji = + "A\uD83D\uDC68\u200D\uD83D\uDC69\u200D\uD83D\uDC67\u200D\uD83D\uDC66"; // family emoji + const safeTruncateBytes = (str: string, maxBytes: number) => { const encoder = new TextEncoder(); - const decoder = new TextDecoder('utf-8'); + const decoder = new TextDecoder("utf-8"); const bytes = encoder.encode(str); if (bytes.length <= maxBytes) return str; const sliced = bytes.slice(0, maxBytes); const decoded = decoder.decode(sliced); // Clean trailing corrupted surrogate halves - return decoded.replace(/[\uFFFD\uD800-\uDBFF]$/, ''); + return decoded.replace(/[\uFFFD\uD800-\uDBFF]$/, ""); }; const truncated = safeTruncateBytes(compoundEmoji, 5); - expect(truncated.endsWith('\uFFFD')).toBe(false); + expect(truncated.endsWith("\uFFFD")).toBe(false); const lastCode = truncated.charCodeAt(truncated.length - 1); - expect(lastCode >= 0xD800 && lastCode <= 0xDBFF).toBe(false); + expect(lastCode >= 0xd800 && lastCode <= 0xdbff).toBe(false); }); }); - describe('6. Temporal and Calendar Rules', () => { - it('should calculate dates across leap year boundaries', () => { + describe("6. Temporal and Calendar Rules", () => { + it("should calculate dates across leap year boundaries", () => { // Leap day sign up - const leapDay = new Date('2024-02-29T12:00:00Z'); + const leapDay = new Date("2024-02-29T12:00:00Z"); const nextYear = new Date(leapDay); nextYear.setFullYear(leapDay.getFullYear() + 1); // JavaScript rolls Feb 29 to March 1 in non-leap year - expect(nextYear.toISOString()).toContain('2025-03-01'); + expect(nextYear.toISOString()).toContain("2025-03-01"); }); - it('should handle dates when leap year is in the future', () => { - const startingDate = new Date('2027-02-28T12:00:00Z'); + it("should handle dates when leap year is in the future", () => { + const startingDate = new Date("2027-02-28T12:00:00Z"); const nextLeapYear = new Date(startingDate); nextLeapYear.setFullYear(startingDate.getFullYear() + 1); // 2028 is a leap year, so Feb 28 + 1 year is Feb 28, 2028 - expect(nextLeapYear.toISOString()).toContain('2028-02-28'); + expect(nextLeapYear.toISOString()).toContain("2028-02-28"); }); - it('should flag requests with excessive clock skew', () => { + it("should flag requests with excessive clock skew", () => { const serverTime = Date.now(); - + const validateSkew = (clientTime: number) => { const diff = Math.abs(serverTime - clientTime); return diff < 15000; // max 15 seconds skew allowed @@ -194,7 +207,6 @@ describe('Resilience and Domain Edge Cases Verification Suite', () => { expect(validateSkew(serverTime + 20000)).toBe(false); // future skew blocked }); }); - }); // Helper for range checks @@ -210,7 +222,8 @@ expect.extend({ const pass = received >= low && received <= high; if (pass) { return { - message: () => `expected ${received} not to be between ${low} and ${high}`, + message: () => + `expected ${received} not to be between ${low} and ${high}`, pass: true, }; } else { diff --git a/packages/api/src/.internal-tests/routers.test.ts b/packages/api/src/.internal-tests/routers.test.ts index 0b31ccc9..e3d69424 100644 --- a/packages/api/src/.internal-tests/routers.test.ts +++ b/packages/api/src/.internal-tests/routers.test.ts @@ -1,10 +1,10 @@ -import { describe, it, expect, vi, beforeEach } from 'vitest'; -import { appRouter } from '../root'; -import { TRPCError } from '@trpc/server'; -import { cache } from '../middleware/cache'; -import { db } from '@query/db'; -import { errorFormatter } from '../trpc'; -import { sanitizeInput } from '../middleware/security'; +import { describe, it, expect, vi, beforeEach } from "vitest"; +import { appRouter } from "../root"; +import { TRPCError } from "@trpc/server"; +import { cache } from "../middleware/cache"; +import { db } from "@query/db"; +import { errorFormatter } from "../trpc"; +import { sanitizeInput } from "../middleware/security"; // Fully mock the DB at the file level const mockFindFirst = vi.fn(); @@ -13,51 +13,58 @@ const mockInsert = vi.fn(); const mockUpdate = vi.fn(); const mockDelete = vi.fn(); -vi.mock('@query/db', () => { +vi.mock("@query/db", () => { return { db: { transaction: vi.fn().mockImplementation((callback) => callback(db)), query: { admins: { - findFirst: (...args: any[]) => mockFindFirst('admins', ...args), - findMany: (...args: any[]) => mockFindMany('admins', ...args), + findFirst: (...args: any[]) => mockFindFirst("admins", ...args), + findMany: (...args: any[]) => mockFindMany("admins", ...args), }, hackathons: { - findFirst: (...args: any[]) => mockFindFirst('hackathons', ...args), - findMany: (...args: any[]) => mockFindMany('hackathons', ...args), + findFirst: (...args: any[]) => mockFindFirst("hackathons", ...args), + findMany: (...args: any[]) => mockFindMany("hackathons", ...args), }, hackathonParticipants: { - findFirst: (...args: any[]) => mockFindFirst('hackathonParticipants', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonParticipants', ...args), + findFirst: (...args: any[]) => + mockFindFirst("hackathonParticipants", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonParticipants", ...args), }, hackathonTeams: { - findFirst: (...args: any[]) => mockFindFirst('hackathonTeams', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonTeams', ...args), + findFirst: (...args: any[]) => + mockFindFirst("hackathonTeams", ...args), + findMany: (...args: any[]) => mockFindMany("hackathonTeams", ...args), }, users: { - findFirst: (...args: any[]) => mockFindFirst('users', ...args), - findMany: (...args: any[]) => mockFindMany('users', ...args), + findFirst: (...args: any[]) => mockFindFirst("users", ...args), + findMany: (...args: any[]) => mockFindMany("users", ...args), }, members: { - findFirst: (...args: any[]) => mockFindFirst('members', ...args), - findMany: (...args: any[]) => mockFindMany('members', ...args), + findFirst: (...args: any[]) => mockFindFirst("members", ...args), + findMany: (...args: any[]) => mockFindMany("members", ...args), }, events: { - findFirst: (...args: any[]) => mockFindFirst('events', ...args), - findMany: (...args: any[]) => mockFindMany('events', ...args), + findFirst: (...args: any[]) => mockFindFirst("events", ...args), + findMany: (...args: any[]) => mockFindMany("events", ...args), }, judges: { - findFirst: (...args: any[]) => mockFindFirst('judges', ...args), - findMany: (...args: any[]) => mockFindMany('judges', ...args), + findFirst: (...args: any[]) => mockFindFirst("judges", ...args), + findMany: (...args: any[]) => mockFindMany("judges", ...args), }, judgeAssignments: { - findFirst: (...args: any[]) => mockFindFirst('judgeAssignments', ...args), - findMany: (...args: any[]) => mockFindMany('judgeAssignments', ...args), + findFirst: (...args: any[]) => + mockFindFirst("judgeAssignments", ...args), + findMany: (...args: any[]) => + mockFindMany("judgeAssignments", ...args), }, hackathonProjects: { - findFirst: (...args: any[]) => mockFindFirst('hackathonProjects', ...args), - findMany: (...args: any[]) => mockFindMany('hackathonProjects', ...args), - } + findFirst: (...args: any[]) => + mockFindFirst("hackathonProjects", ...args), + findMany: (...args: any[]) => + mockFindMany("hackathonProjects", ...args), + }, }, insert: () => ({ values: () => ({ @@ -82,70 +89,74 @@ vi.mock('@query/db', () => { })), }, admins: { - userId: 'user_id', - isActive: 'is_active', - role: 'role', + userId: "user_id", + isActive: "is_active", + role: "role", }, users: { - id: 'id', - email: 'email', + id: "id", + email: "email", }, hackathons: { - id: 'id', - status: 'status', - isPublic: 'is_public', - startDate: 'start_date', - endDate: 'end_date', + id: "id", + status: "status", + isPublic: "is_public", + startDate: "start_date", + endDate: "end_date", }, hackathonParticipants: { - id: 'id', - hackathonId: 'hackathon_id', - userId: 'user_id', - status: 'status', + id: "id", + hackathonId: "hackathon_id", + userId: "user_id", + status: "status", }, hackathonTeams: { - id: 'id', - hackathonId: 'hackathon_id', - name: 'name', + id: "id", + hackathonId: "hackathon_id", + name: "name", }, members: { - userId: 'user_id', + userId: "user_id", }, events: { - id: 'id', - title: 'title', - qrCode: 'qr_code', - checkInEnabled: 'check_in_enabled', - eventDate: 'event_date', + id: "id", + title: "title", + qrCode: "qr_code", + checkInEnabled: "check_in_enabled", + eventDate: "event_date", }, judges: { - id: 'id', - userId: 'user_id', + id: "id", + userId: "user_id", }, judgeAssignments: { - judgeId: 'judge_id', - hackathonId: 'hackathon_id', + judgeId: "judge_id", + hackathonId: "hackathon_id", }, hackathonProjects: { - id: 'id', - hackathonId: 'hackathon_id', - } + id: "id", + hackathonId: "hackathon_id", + }, }; }); -describe('Router Integration and Access Control Verification Suite', () => { +describe("Router Integration and Access Control Verification Suite", () => { beforeEach(() => { vi.clearAllMocks(); cache.clear(); }); - const createMockCtx = (userId?: string, extra: Record = {}, headers: Record = {}) => { + const createMockCtx = ( + userId?: string, + extra: Record = {}, + headers: Record = {}, + ) => { return { db, session: userId ? { user: { id: userId } } : null, userId: userId || undefined, cache: cache, - clientIp: '127.0.0.1', + clientIp: "127.0.0.1", req: { headers: { get: (name: string) => headers[name.toLowerCase()] || null, @@ -155,12 +166,18 @@ describe('Router Integration and Access Control Verification Suite', () => { } as any; }; - describe('1. Admin Permissions and Role Restrictons', () => { - it('should query the database on cache miss and verify admin status', async () => { - const ctx = createMockCtx('admin_user_id'); + describe("1. Admin Permissions and Role Restrictons", () => { + it("should query the database on cache miss and verify admin status", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true, permissions: [] }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + permissions: [], + }; } return null; }); @@ -169,7 +186,7 @@ describe('Router Integration and Access Control Verification Suite', () => { const res = await caller.admin.isAdmin(); expect(res.isAdmin).toBe(true); - expect(res.role).toBe('admin'); + expect(res.role).toBe("admin"); expect(mockFindFirst).toHaveBeenCalledTimes(1); // Hit cache next time @@ -178,19 +195,26 @@ describe('Router Integration and Access Control Verification Suite', () => { expect(mockFindFirst).toHaveBeenCalledTimes(1); }); - it('should throw FORBIDDEN error when regular user calls admin endpoints', async () => { - const ctx = createMockCtx('regular_user_id'); + it("should throw FORBIDDEN error when regular user calls admin endpoints", async () => { + const ctx = createMockCtx("regular_user_id"); mockFindFirst.mockReturnValue(null); // Not an admin const caller = appRouter.createCaller(ctx); - await expect(caller.admin.analyticsOverview()).rejects.toThrowError('Admin access required'); + await expect(caller.admin.analyticsOverview()).rejects.toThrowError( + "Admin access required", + ); }); - it('should block non-super-admins from adding new admins', async () => { - const ctx = createMockCtx('admin_user_id'); + it("should block non-super-admins from adding new admins", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + }; } return null; }); @@ -198,78 +222,103 @@ describe('Router Integration and Access Control Verification Suite', () => { const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user_id', - role: 'admin', - }) - ).rejects.toThrowError('Super admin access required'); + userId: "target_user_id", + role: "admin", + }), + ).rejects.toThrowError("Super admin access required"); }); }); - describe('2. Hackathon and Club Events Access Controls', () => { - it('should allow public listing of hackathons by unauthenticated users', async () => { + describe("2. Hackathon and Club Events Access Controls", () => { + it("should allow public listing of hackathons by unauthenticated users", async () => { const ctx = createMockCtx(); // No session mockFindMany.mockReturnValue([ - { id: 'h_1', name: 'Public Hackathon 2026', status: 'open', isPublic: true }, + { + id: "h_1", + name: "Public Hackathon 2026", + status: "open", + isPublic: true, + }, ]); const caller = appRouter.createCaller(ctx); const result = await caller.hackathon.list({ limit: 10 }); expect(result.length).toBe(1); - expect(result[0].name).toBe('Public Hackathon 2026'); + expect(result[0].name).toBe("Public Hackathon 2026"); }); - it('should separate hackathon event and club event category designations', () => { - const hackathonType = { id: 'type_1', category: 'hackathon' }; - const clubType = { id: 'type_2', category: 'club' }; + it("should separate hackathon event and club event category designations", () => { + const hackathonType = { id: "type_1", category: "hackathon" }; + const clubType = { id: "type_2", category: "club" }; expect(hackathonType.category).not.toBe(clubType.category); }); }); - describe('3. Over-Fetching and Leakage Protections', () => { - it('should strip secret qrCode from public events listing', async () => { + describe("3. Over-Fetching and Leakage Protections", () => { + it("should strip secret qrCode from public events listing", async () => { const ctx = createMockCtx(); // Public user mockFindMany.mockReturnValue([ - { id: 'event_1', title: 'Keynote Speech', qrCode: 'secret_qr_code_123', checkInEnabled: true, eventDate: new Date() } + { + id: "event_1", + title: "Keynote Speech", + qrCode: "secret_qr_code_123", + checkInEnabled: true, + eventDate: new Date(), + }, ]); const caller = appRouter.createCaller(ctx); const listResult = await caller.events.list(); - + expect(listResult.length).toBe(1); - expect(listResult[0].title).toBe('Keynote Speech'); + expect(listResult[0].title).toBe("Keynote Speech"); // Assert qrCode is stripped from returned object expect((listResult[0] as any).qrCode).toBeUndefined(); }); - it('should retain qrCode in admin listAll events endpoint', async () => { - const ctx = createMockCtx('admin_user_id'); + it("should retain qrCode in admin listAll events endpoint", async () => { + const ctx = createMockCtx("admin_user_id"); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + }; } return null; }); mockFindMany.mockReturnValue([ - { id: 'event_1', title: 'Keynote Speech', qrCode: 'secret_qr_code_123', checkInEnabled: true, eventDate: new Date() } + { + id: "event_1", + title: "Keynote Speech", + qrCode: "secret_qr_code_123", + checkInEnabled: true, + eventDate: new Date(), + }, ]); const caller = appRouter.createCaller(ctx); const allResult = await caller.events.listAll(); - + expect(allResult.length).toBe(1); - expect(allResult[0].qrCode).toBe('secret_qr_code_123'); + expect(allResult[0].qrCode).toBe("secret_qr_code_123"); }); }); - describe('4. Secure Error Formatting', () => { - it('should mask database connection string credentials in production mode', () => { - const rawError = new Error('Fatal Postgres connection timeout: secret_password_value=xyz123'); - + describe("4. Secure Error Formatting", () => { + it("should mask database connection string credentials in production mode", () => { + const rawError = new Error( + "Fatal Postgres connection timeout: secret_password_value=xyz123", + ); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'production'; + (process.env as Record).NODE_ENV = + "production"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: rawError.message, cause: rawError, }); @@ -279,27 +328,29 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; - expect(formatted.message).toBe('An unexpected error occurred'); - expect(formatted.message).not.toContain('secret_password_value'); + expect(formatted.message).toBe("An unexpected error occurred"); + expect(formatted.message).not.toContain("secret_password_value"); }); - it('should retain detailed error messages in development mode', () => { - const rawError = new Error('Database column missing error detail'); - + it("should retain detailed error messages in development mode", () => { + const rawError = new Error("Database column missing error detail"); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'development'; + (process.env as Record).NODE_ENV = + "development"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: rawError.message, cause: rawError, }); @@ -309,73 +360,101 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; - expect(formatted.message).toBe('Database column missing error detail'); + expect(formatted.message).toBe("Database column missing error detail"); }); }); - describe('5. Content-Type Evasion and CSRF Protection', () => { - it('should allow mutation when Content-Type is application/json', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'application/json' }); + describe("5. Content-Type Evasion and CSRF Protection", () => { + it("should allow mutation when Content-Type is application/json", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "application/json" }, + ); mockFindFirst.mockImplementation((table, query) => { - if (table === 'admins') { - if (query && JSON.stringify(query).includes('target_user')) { + if (table === "admins") { + if (query && JSON.stringify(query).includes("target_user")) { return null; // Target user is not already admin } - return { id: 'admin_1', userId: 'admin_user_id', role: 'super_admin', isActive: true }; + return { + id: "admin_1", + userId: "admin_user_id", + role: "super_admin", + isActive: true, + }; } - if (table === 'users') { - return { id: 'target_user' }; + if (table === "users") { + return { id: "target_user" }; } return null; }); - mockInsert.mockReturnValue([{ id: 'new_admin' }]); + mockInsert.mockReturnValue([{ id: "new_admin" }]); const caller = appRouter.createCaller(ctx); const res = await caller.admin.create({ - userId: 'target_user', - role: 'admin', + userId: "target_user", + role: "admin", }); expect(res).toBeDefined(); }); - it('should block mutation when Content-Type is text/plain (CORS preflight bypass)', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'text/plain' }); - + it("should block mutation when Content-Type is text/plain (CORS preflight bypass)", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "text/plain" }, + ); + const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user', - role: 'admin', - }) - ).rejects.toThrowError('Invalid Content-Type for mutation request'); + userId: "target_user", + role: "admin", + }), + ).rejects.toThrowError("Invalid Content-Type for mutation request"); }); - it('should block mutation when Content-Type is application/x-www-form-urlencoded', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'application/x-www-form-urlencoded' }); - + it("should block mutation when Content-Type is application/x-www-form-urlencoded", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "application/x-www-form-urlencoded" }, + ); + const caller = appRouter.createCaller(ctx); await expect( caller.admin.create({ - userId: 'target_user', - role: 'admin', - }) - ).rejects.toThrowError('Invalid Content-Type for mutation request'); + userId: "target_user", + role: "admin", + }), + ).rejects.toThrowError("Invalid Content-Type for mutation request"); }); - it('should allow queries even with text/plain Content-Type (safe side-effect free requests)', async () => { - const ctx = createMockCtx('admin_user_id', {}, { 'content-type': 'text/plain' }); + it("should allow queries even with text/plain Content-Type (safe side-effect free requests)", async () => { + const ctx = createMockCtx( + "admin_user_id", + {}, + { "content-type": "text/plain" }, + ); mockFindFirst.mockImplementation((table) => { - if (table === 'admins') { - return { id: 'admin_1', userId: 'admin_user_id', role: 'admin', isActive: true, permissions: [] }; + if (table === "admins") { + return { + id: "admin_1", + userId: "admin_user_id", + role: "admin", + isActive: true, + permissions: [], + }; } return null; }); @@ -386,15 +465,16 @@ describe('Router Integration and Access Control Verification Suite', () => { }); }); - describe('6. Postgres Connection Starvation and Parameter Safety', () => { - it('should format Postgres connection pool exhaustion errors safely in production', () => { - const pgError = new Error('sorry, too many clients already'); - + describe("6. Postgres Connection Starvation and Parameter Safety", () => { + it("should format Postgres connection pool exhaustion errors safely in production", () => { + const pgError = new Error("sorry, too many clients already"); + const originalEnv = process.env.NODE_ENV; - (process.env as Record).NODE_ENV = 'production'; + (process.env as Record).NODE_ENV = + "production"; const trpcError = new TRPCError({ - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", message: pgError.message, cause: pgError, }); @@ -404,48 +484,53 @@ describe('Router Integration and Access Control Verification Suite', () => { message: trpcError.message, code: -32603, data: { - code: 'INTERNAL_SERVER_ERROR', + code: "INTERNAL_SERVER_ERROR", httpStatus: 500, }, }, error: trpcError, }); - (process.env as Record).NODE_ENV = originalEnv; + (process.env as Record).NODE_ENV = + originalEnv; // Ensure error details about clients or connection exhaustion are masked - expect(formatted.message).toBe('An unexpected error occurred'); - expect(formatted.message).not.toContain('too many clients'); + expect(formatted.message).toBe("An unexpected error occurred"); + expect(formatted.message).not.toContain("too many clients"); }); - it('should ensure backslash escapes in sql queries are checked securely', () => { + it("should ensure backslash escapes in sql queries are checked securely", () => { // Drizzle handles parameterization automatically, so raw inputs are never interpolated directly. // We test that inputs containing backslashes are sanitized/passed as single literals. const dangerousValue = "value\\' OR \\'1\\'=\\'1"; const cleanValue = sanitizeInput(dangerousValue); - expect(typeof cleanValue).toBe('string'); + expect(typeof cleanValue).toBe("string"); }); }); - describe('7. Hackathon Teams, Judge and Project Submission Restrictions', () => { - it('should reject team creation if maxMembers is greater than 4', async () => { - const ctx = createMockCtx('user_id'); + describe("7. Hackathon Teams, Judge and Project Submission Restrictions", () => { + it("should reject team creation if maxMembers is greater than 4", async () => { + const ctx = createMockCtx("user_id"); const caller = appRouter.createCaller(ctx); await expect( caller.team.createTeam({ - hackathonId: '00000000-0000-0000-0000-000000000000', - name: 'Super Team', + hackathonId: "00000000-0000-0000-0000-000000000000", + name: "Super Team", maxMembers: 5, - }) + }), ).rejects.toThrow(); }); - it('should prevent registered participants from applying to be a judge', async () => { - const ctx = createMockCtx('participant_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; + it("should prevent registered participants from applying to be a judge", async () => { + const ctx = createMockCtx("participant_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'participant_user_id', hackathonId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "participant_user_id", + hackathonId, + }; } return null; }); @@ -454,28 +539,39 @@ describe('Router Integration and Access Control Verification Suite', () => { await expect( caller.judge.register({ hackathonId, - name: 'John Doe', - email: 'john@example.com', - }) - ).rejects.toThrowError('You cannot apply to be a judge because you are registered as a participant for this hackathon.'); + name: "John Doe", + email: "john@example.com", + }), + ).rejects.toThrowError( + "You cannot apply to be a judge because you are registered as a participant for this hackathon.", + ); }); - it('should prevent project submissions before 12 hours after the hacking begins', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project submissions before 12 hours after the hacking begins", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const recentStartDate = new Date(Date.now() - 11 * 60 * 60 * 1000); // 11 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: recentStartDate, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: recentStartDate, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } return null; }); @@ -485,31 +581,48 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project submission is not open yet. It starts 12 hours after the hacking begins.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project submission is not open yet. It starts 12 hours after the hacking begins.", + ); }); - it('should prevent project edits (existing project) after 34 hours of starting hacking', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project edits (existing project) after 34 hours of starting hacking", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const startDate35hAgo = new Date(Date.now() - 35 * 60 * 60 * 1000); // 35 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: startDate35hAgo, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: startDate35hAgo, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } - if (table === 'hackathonProjects') { - return { id: 'project_1', hackathonId, teamId, name: 'Old Name', description: 'Old Description' }; + if (table === "hackathonProjects") { + return { + id: "project_1", + hackathonId, + teamId, + name: "Old Name", + description: "Old Description", + }; } return null; }); @@ -519,28 +632,39 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project edits are closed. Devposts must be final 34 hours after the hacking starts.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", + ); }); - it('should prevent project submissions more than 36 hours after hacking starts', async () => { - const ctx = createMockCtx('captain_user_id'); - const hackathonId = '00000000-0000-0000-0000-000000000001'; - const teamId = '00000000-0000-0000-0000-000000000002'; - + it("should prevent project submissions more than 36 hours after hacking starts", async () => { + const ctx = createMockCtx("captain_user_id"); + const hackathonId = "00000000-0000-0000-0000-000000000001"; + const teamId = "00000000-0000-0000-0000-000000000002"; + const pastStartDate = new Date(Date.now() - 37 * 60 * 60 * 1000); // 37 hours ago mockFindFirst.mockImplementation((table) => { - if (table === 'hackathonParticipants') { - return { id: 'participant_1', userId: 'captain_user_id', hackathonId, teamId }; + if (table === "hackathonParticipants") { + return { + id: "participant_1", + userId: "captain_user_id", + hackathonId, + teamId, + }; } - if (table === 'hackathons') { - return { id: hackathonId, startDate: pastStartDate, hackingStartTime: null }; + if (table === "hackathons") { + return { + id: hackathonId, + startDate: pastStartDate, + hackingStartTime: null, + }; } - if (table === 'hackathonTeams') { - return { id: teamId, captainId: 'captain_user_id', hackathonId }; + if (table === "hackathonTeams") { + return { id: teamId, captainId: "captain_user_id", hackathonId }; } return null; }); @@ -550,11 +674,12 @@ describe('Router Integration and Access Control Verification Suite', () => { caller.team.submitProject({ hackathonId, teamId, - name: 'Awesome Project', - description: 'This is a long description of the awesome project.', - }) - ).rejects.toThrowError('Project submission closed. The submission window ended 36 hours after the hacking started.'); + name: "Awesome Project", + description: "This is a long description of the awesome project.", + }), + ).rejects.toThrowError( + "Project submission closed. The submission window ended 36 hours after the hacking started.", + ); }); }); - }); diff --git a/packages/api/src/.internal-tests/security.test.ts b/packages/api/src/.internal-tests/security.test.ts index 6ef2d8c9..c2068ec3 100644 --- a/packages/api/src/.internal-tests/security.test.ts +++ b/packages/api/src/.internal-tests/security.test.ts @@ -1,152 +1,169 @@ -import { describe, it, expect, vi } from 'vitest'; -import { - sanitizeInput, - validateRequestSize, - rateLimit, - ddosProtection -} from '../middleware/security'; -import { TRPCError } from '@trpc/server'; - -vi.mock('@query/db', () => ({ +import { describe, it, expect, vi } from "vitest"; +import { + sanitizeInput, + validateRequestSize, + rateLimit, + ddosProtection, +} from "../middleware/security"; +import { TRPCError } from "@trpc/server"; + +vi.mock("@query/db", () => ({ db: { insert: vi.fn().mockReturnThis(), values: vi.fn() }, - auditLogs: {} + auditLogs: {}, })); -describe('Security and Protection Verification Suite', () => { - - describe('1. Input Sanitization - XSS Vulnerability Protections', () => { - it('should drop script tags completely', () => { +describe("Security and Protection Verification Suite", () => { + describe("1. Input Sanitization - XSS Vulnerability Protections", () => { + it("should drop script tags completely", () => { const result = sanitizeInput('hello'); - expect(result).toBe('hello'); + expect(result).toBe("hello"); }); - it('should sanitize image tag onerror events', () => { + it("should sanitize image tag onerror events", () => { try { - const result = sanitizeInput(''); - expect(result).not.toContain('onerror'); + const result = sanitizeInput( + '', + ); + expect(result).not.toContain("onerror"); } catch (err) { expect(err).toBeInstanceOf(TRPCError); } }); - it('should sanitize svg onload actions', () => { + it("should sanitize svg onload actions", () => { try { const result = sanitizeInput(''); - expect(result).not.toContain('onload'); - expect(result).not.toContain('javascript'); + expect(result).not.toContain("onload"); + expect(result).not.toContain("javascript"); } catch (err) { expect(err).toBeInstanceOf(TRPCError); } }); - it('should block explicit javascript protocol references', () => { + it("should block explicit javascript protocol references", () => { const payload = 'javascript:alert("hacked")'; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should clean nested script evasion attempts', () => { + it("should clean nested script evasion attempts", () => { const result = sanitizeInput('<'); - expect(result).not.toContain(' { - const result = sanitizeInput('This is a text with < than and > than symbols.'); - expect(result).toBe('This is a text with < than and > than symbols.'); + it("should handle benign inputs with brackets safely", () => { + const result = sanitizeInput( + "This is a text with < than and > than symbols.", + ); + expect(result).toBe( + "This is a text with < than and > than symbols.", + ); }); }); - describe('2. Input Sanitization - SQL Injection Protections', () => { - it('should block classic union select injections', () => { - const payload = '1 UNION SELECT username, password FROM users'; + describe("2. Input Sanitization - SQL Injection Protections", () => { + it("should block classic union select injections", () => { + const payload = "1 UNION SELECT username, password FROM users"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block SQL query stacking comments', () => { - const payload = 'DROP TABLE hackathons; -- '; + it("should block SQL query stacking comments", () => { + const payload = "DROP TABLE hackathons; -- "; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block block-comment SQL injection style', () => { - const payload = 'SELECT * FROM events /* check comments */ WHERE id = 1'; + it("should block block-comment SQL injection style", () => { + const payload = "SELECT * FROM events /* check comments */ WHERE id = 1"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); - it('should block case-insensitive SQL keywords combinations', () => { - const payload = 'uNiOn SeLeCt secret FROM credentials'; + it("should block case-insensitive SQL keywords combinations", () => { + const payload = "uNiOn SeLeCt secret FROM credentials"; expect(() => sanitizeInput(payload)).toThrowError(TRPCError); }); }); - describe('3. Input Sanitization - NoSQL Query Injection Protections', () => { - it('should filter out the where MongoDB operator', () => { + describe("3. Input Sanitization - NoSQL Query Injection Protections", () => { + it("should filter out the where MongoDB operator", () => { const payload = { $where: 'this.role == "admin"' }; const result = sanitizeInput(payload) as Record; expect(result.$where).toBeUndefined(); }); - it('should filter out gt and lt MongoDB operators', () => { - const payload = { $gt: '0', $lt: '100', validKey: 'data' }; + it("should filter out gt and lt MongoDB operators", () => { + const payload = { $gt: "0", $lt: "100", validKey: "data" }; const result = sanitizeInput(payload) as Record; expect(result.$gt).toBeUndefined(); expect(result.$lt).toBeUndefined(); - expect(result.validKey).toBe('data'); + expect(result.validKey).toBe("data"); }); - it('should filter out ne and eq MongoDB operators', () => { - const payload = { $ne: 'admin', $eq: 'user', username: 'guest' }; + it("should filter out ne and eq MongoDB operators", () => { + const payload = { $ne: "admin", $eq: "user", username: "guest" }; const result = sanitizeInput(payload) as Record; expect(result.$ne).toBeUndefined(); expect(result.$eq).toBeUndefined(); - expect(result.username).toBe('guest'); + expect(result.username).toBe("guest"); }); }); - describe('4. Input Sanitization - Prototype Pollution Protections', () => { - it('should drop proto key assignments', () => { - const payload = JSON.parse('{"__proto__": {"maliciousProperty": "injected"}}'); + describe("4. Input Sanitization - Prototype Pollution Protections", () => { + it("should drop proto key assignments", () => { + const payload = JSON.parse( + '{"__proto__": {"maliciousProperty": "injected"}}', + ); const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, '__proto__')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(result, "__proto__")).toBe( + false, + ); expect(({} as any).maliciousProperty).toBeUndefined(); }); - it('should drop constructor key assignments', () => { - const payload = JSON.parse('{"constructor": {"prototype": {"polluted": "yes"}}}'); + it("should drop constructor key assignments", () => { + const payload = JSON.parse( + '{"constructor": {"prototype": {"polluted": "yes"}}}', + ); const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, 'constructor')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(result, "constructor")).toBe( + false, + ); expect(({} as any).polluted).toBeUndefined(); }); - it('should drop prototype key assignments', () => { - const payload = { prototype: { admin: true }, username: 'normal' }; + it("should drop prototype key assignments", () => { + const payload = { prototype: { admin: true }, username: "normal" }; const result = sanitizeInput(payload) as Record; - expect(Object.prototype.hasOwnProperty.call(result, 'prototype')).toBe(false); - expect(result.username).toBe('normal'); + expect(Object.prototype.hasOwnProperty.call(result, "prototype")).toBe( + false, + ); + expect(result.username).toBe("normal"); }); }); - describe('5. Input Sanitization - Complexity & Deep Nesting Limits', () => { + describe("5. Input Sanitization - Complexity & Deep Nesting Limits", () => { const makeNestedObject = (depth: number): any => { - if (depth === 0) return 'leaf'; + if (depth === 0) return "leaf"; return { node: makeNestedObject(depth - 1) }; }; - it('should allow object nesting level equal to 9', () => { + it("should allow object nesting level equal to 9", () => { const payload = makeNestedObject(9); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should allow object nesting level equal to 10', () => { + it("should allow object nesting level equal to 10", () => { const payload = makeNestedObject(10); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject object nesting level equal to 11', () => { + it("should reject object nesting level equal to 11", () => { const payload = makeNestedObject(11); - expect(() => sanitizeInput(payload)).toThrowError('Input too deeply nested'); + expect(() => sanitizeInput(payload)).toThrowError( + "Input too deeply nested", + ); }); - it('should allow objects with exactly 50 keys', () => { + it("should allow objects with exactly 50 keys", () => { const payload: Record = {}; for (let i = 0; i < 50; i++) { payload[`key_${i}`] = i; @@ -154,71 +171,71 @@ describe('Security and Protection Verification Suite', () => { expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject objects with more than 50 keys', () => { + it("should reject objects with more than 50 keys", () => { const payload: Record = {}; for (let i = 0; i < 51; i++) { payload[`key_${i}`] = i; } - expect(() => sanitizeInput(payload)).toThrowError('Object too complex'); + expect(() => sanitizeInput(payload)).toThrowError("Object too complex"); }); - it('should allow arrays with exactly 500 elements', () => { - const payload = new Array(500).fill('valid'); + it("should allow arrays with exactly 500 elements", () => { + const payload = new Array(500).fill("valid"); expect(sanitizeInput(payload)).toBeDefined(); }); - it('should reject arrays with more than 500 elements', () => { - const payload = new Array(501).fill('invalid'); - expect(() => sanitizeInput(payload)).toThrowError('Array too large'); + it("should reject arrays with more than 500 elements", () => { + const payload = new Array(501).fill("invalid"); + expect(() => sanitizeInput(payload)).toThrowError("Array too large"); }); }); - describe('6. Payload Size Restrictions', () => { - it('should validate request size with default limit', () => { - const smallPayload = { test: 'a'.repeat(100) }; + describe("6. Payload Size Restrictions", () => { + it("should validate request size with default limit", () => { + const smallPayload = { test: "a".repeat(100) }; expect(validateRequestSize(smallPayload, 500)).toBe(true); }); - it('should reject requests exceeding size limit', () => { - const largePayload = { test: 'a'.repeat(600) }; + it("should reject requests exceeding size limit", () => { + const largePayload = { test: "a".repeat(600) }; expect(validateRequestSize(largePayload, 500)).toBe(false); }); - it('should calculate size properly with nested structures', () => { + it("should calculate size properly with nested structures", () => { const complexPayload = { - meta: { name: 'test', size: 123 }, - data: ['a', 'b', 'c', 'd'.repeat(200)] + meta: { name: "test", size: 123 }, + data: ["a", "b", "c", "d".repeat(200)], }; expect(validateRequestSize(complexPayload, 150)).toBe(false); }); }); - describe('7. Rate Limiting Token Bucket and Exponential Violations', () => { - it('should allow requests within limit capacity', () => { - const user = 'normal-user'; + describe("7. Rate Limiting Token Bucket and Exponential Violations", () => { + it("should allow requests within limit capacity", () => { + const user = "normal-user"; const r1 = rateLimit(user, 5, 1, 1); const r2 = rateLimit(user, 5, 1, 1); expect(r1.allowed).toBe(true); expect(r2.allowed).toBe(true); }); - it('should block requests when bucket runs out of tokens', () => { - const user = 'exhausted-user'; + it("should block requests when bucket runs out of tokens", () => { + const user = "exhausted-user"; rateLimit(user, 2, 0, 1); rateLimit(user, 2, 0, 1); - + const r3 = rateLimit(user, 2, 0, 1); expect(r3.allowed).toBe(false); expect(r3.retryAfter).toBe(1); }); - it('should exponentially increase retry duration upon repeated violations', () => { + it("should exponentially increase retry duration upon repeated violations", () => { vi.useFakeTimers(); - const user = 'violator-user'; - + const user = "violator-user"; + // Exhaust first rateLimit(user, 1, 0, 1); - + // 1st violation const v1 = rateLimit(user, 1, 0, 1); expect(v1.allowed).toBe(false); @@ -244,16 +261,16 @@ describe('Security and Protection Verification Suite', () => { }); }); - describe('8. DDoS Burst Interception', () => { - it('should allow burst requests up to threshold', () => { - const ip = '192.168.1.50'; + describe("8. DDoS Burst Interception", () => { + it("should allow burst requests up to threshold", () => { + const ip = "192.168.1.50"; for (let i = 0; i < 99; i++) { expect(ddosProtection(ip).allowed).toBe(true); } }); - it('should block burst requests above threshold', () => { - const ip = '192.168.1.100'; + it("should block burst requests above threshold", () => { + const ip = "192.168.1.100"; for (let i = 0; i < 100; i++) { ddosProtection(ip); } @@ -262,14 +279,14 @@ describe('Security and Protection Verification Suite', () => { expect(blockResult.retryAfter).toBeGreaterThan(0); }); - it('should release IP block after cooldown period', () => { + it("should release IP block after cooldown period", () => { vi.useFakeTimers(); - const ip = '192.168.1.200'; - + const ip = "192.168.1.200"; + for (let i = 0; i < 101; i++) { ddosProtection(ip); } - + // Verify blocked expect(ddosProtection(ip).allowed).toBe(false); @@ -281,5 +298,4 @@ describe('Security and Protection Verification Suite', () => { vi.useRealTimers(); }); }); - }); diff --git a/packages/api/src/context.ts b/packages/api/src/context.ts index 19e7196e..fff33d15 100644 --- a/packages/api/src/context.ts +++ b/packages/api/src/context.ts @@ -27,7 +27,10 @@ async function getAuth() { } export async function createContext( - opts?: Partial & { clientIp?: string; req?: Request } + opts?: Partial & { + clientIp?: string; + req?: Request; + }, ) { let session: Session = null; @@ -49,9 +52,12 @@ export async function createContext( session, userId: session?.user?.id, cache, - clientIp: opts?.clientIp || req?.headers.get("x-forwarded-for")?.split(",")[0] || 'unknown', - req + clientIp: + opts?.clientIp || + req?.headers.get("x-forwarded-for")?.split(",")[0] || + "unknown", + req, }; } -export type Context = Awaited>; \ No newline at end of file +export type Context = Awaited>; diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts index 9b4587bf..f6d80007 100644 --- a/packages/api/src/index.ts +++ b/packages/api/src/index.ts @@ -1,6 +1,6 @@ - export { appRouter, type AppRouter } from "./root"; export { createContext, type Context } from "./context"; export { createTRPCRouter, publicProcedure, protectedProcedure } from "./trpc"; export { rateLimit, RATE_LIMITS } from "./middleware/security"; -export { cache, CacheKeys } from "./middleware/cache"; \ No newline at end of file +export { cache, CacheKeys, invalidatePortalContext } from "./middleware/cache"; +export type { PortalContext, MemberContext } from "./types/portal-context"; diff --git a/packages/api/src/middleware/cache.ts b/packages/api/src/middleware/cache.ts index 4db54814..9fe35897 100644 --- a/packages/api/src/middleware/cache.ts +++ b/packages/api/src/middleware/cache.ts @@ -1,212 +1,213 @@ - - /** * In-Memory Cache Service * Provides TTL-based caching with automatic cleanup */ interface CacheEntry { - value: T; - expiresAt: number; + value: T; + expiresAt: number; } interface CacheStats { - hits: number; - misses: number; - size: number; + hits: number; + misses: number; + size: number; } export class CacheService { - private cache = new Map>(); - private stats: CacheStats = { hits: 0, misses: 0, size: 0 }; - private cleanupInterval: NodeJS.Timeout; - private maxCacheSize: number; - - constructor(private defaultTTL: number = 300, maxCacheSize: number = 10000) { - this.maxCacheSize = maxCacheSize; - // Cleanup expired entries every 60 seconds - this.cleanupInterval = setInterval(() => { - this.cleanup(); - }, 60 * 1000); + private cache = new Map>(); + private stats: CacheStats = { hits: 0, misses: 0, size: 0 }; + private cleanupInterval: NodeJS.Timeout; + private maxCacheSize: number; + + constructor( + private defaultTTL: number = 300, + maxCacheSize: number = 10000, + ) { + this.maxCacheSize = maxCacheSize; + // Cleanup expired entries every 60 seconds + this.cleanupInterval = setInterval(() => { + this.cleanup(); + }, 60 * 1000); + } + + /** + * Get a value from cache + */ + get(key: string): T | null { + const entry = this.cache.get(key) as CacheEntry | undefined; + + if (!entry) { + this.stats.misses++; + return null; } - /** - * Get a value from cache - */ - get(key: string): T | null { - const entry = this.cache.get(key) as CacheEntry | undefined; - - if (!entry) { - this.stats.misses++; - return null; - } - - if (Date.now() > entry.expiresAt) { - this.cache.delete(key); - this.stats.misses++; - this.stats.size = this.cache.size; - return null; - } - - this.stats.hits++; - return entry.value; + if (Date.now() > entry.expiresAt) { + this.cache.delete(key); + this.stats.misses++; + this.stats.size = this.cache.size; + return null; } - /** - * Set a value in cache with optional TTL - */ - set(key: string, value: T, ttl?: number): void { - const expiresAt = Date.now() + (ttl || this.defaultTTL) * 1000; - this.cache.set(key, { value, expiresAt }); - this.stats.size = this.cache.size; + this.stats.hits++; + return entry.value; + } + + /** + * Set a value in cache with optional TTL + */ + set(key: string, value: T, ttl?: number): void { + const expiresAt = Date.now() + (ttl || this.defaultTTL) * 1000; + this.cache.set(key, { value, expiresAt }); + this.stats.size = this.cache.size; + } + + /** + * Delete a specific key from cache + */ + delete(key: string): boolean { + const result = this.cache.delete(key); + this.stats.size = this.cache.size; + return result; + } + + /** + * Delete all keys matching a pattern (glob-style with * wildcard) + */ + deletePattern(pattern: string): number { + let count = 0; + // Escape regex special chars, then convert * to .* + const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&"); + const regex = new RegExp(`^${escaped.replace(/\*/g, ".*")}$`); + + for (const key of this.cache.keys()) { + if (regex.test(key)) { + this.cache.delete(key); + count++; + } } - /** - * Delete a specific key from cache - */ - delete(key: string): boolean { - const result = this.cache.delete(key); - this.stats.size = this.cache.size; - return result; + this.stats.size = this.cache.size; + return count; + } + + /** + * Clear all cache entries + */ + clear(): void { + this.cache.clear(); + this.stats = { hits: 0, misses: 0, size: 0 }; + } + + /** + * Get cache statistics + */ + getStats(): CacheStats { + return { ...this.stats }; + } + + /** + * Check if a key exists and is not expired + */ + has(key: string): boolean { + return this.get(key) !== null; + } + + /** + * Get or set pattern - fetch from cache or compute and cache + */ + async getOrSet( + key: string, + factory: () => Promise | T, + ttl?: number, + ): Promise { + const cached = this.get(key); + if (cached !== null) { + return cached; } - /** - * Delete all keys matching a pattern (glob-style with * wildcard) - */ - deletePattern(pattern: string): number { - let count = 0; - // Escape regex special chars, then convert * to .* - const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, '\\$&'); - const regex = new RegExp(`^${escaped.replace(/\*/g, '.*')}$`); - - for (const key of this.cache.keys()) { - if (regex.test(key)) { - this.cache.delete(key); - count++; - } - } - - this.stats.size = this.cache.size; - return count; - } - - /** - * Clear all cache entries - */ - clear(): void { - this.cache.clear(); - this.stats = { hits: 0, misses: 0, size: 0 }; + const value = await factory(); + this.set(key, value, ttl); + return value; + } + + /** + * Remove expired entries and evict oldest entries if cache is over max size (LRU) + */ + private cleanup(): void { + const now = Date.now(); + let removed = 0; + + // Remove expired entries first + for (const [key, entry] of this.cache.entries()) { + if (now > entry.expiresAt) { + this.cache.delete(key); + removed++; + } } - /** - * Get cache statistics - */ - getStats(): CacheStats { - return { ...this.stats }; - } + // If cache is over max size, evict oldest entries (LRU - remove oldest by expiresAt as proxy) + while (this.cache.size > this.maxCacheSize) { + let oldestKey: string | null = null; + let oldestValue: CacheEntry | undefined = undefined; - /** - * Check if a key exists and is not expired - */ - has(key: string): boolean { - return this.get(key) !== null; - } - - /** - * Get or set pattern - fetch from cache or compute and cache - */ - async getOrSet( - key: string, - factory: () => Promise | T, - ttl?: number - ): Promise { - const cached = this.get(key); - if (cached !== null) { - return cached; - } - - const value = await factory(); - this.set(key, value, ttl); - return value; - } - - /** - * Remove expired entries and evict oldest entries if cache is over max size (LRU) - */ - private cleanup(): void { - const now = Date.now(); - let removed = 0; - - // Remove expired entries first - for (const [key, entry] of this.cache.entries()) { - if (now > entry.expiresAt) { - this.cache.delete(key); - removed++; - } - } - - // If cache is over max size, evict oldest entries (LRU - remove oldest by expiresAt as proxy) - while (this.cache.size > this.maxCacheSize) { - let oldestKey: string | null = null; - let oldestValue: CacheEntry | undefined = undefined; - - // Find the oldest entry - for (const [key, entry] of this.cache.entries()) { - if (!oldestValue || entry.expiresAt < oldestValue.expiresAt) { - oldestKey = key; - oldestValue = entry; - } - } - - if (oldestKey) { - this.cache.delete(oldestKey); - removed++; - } - } - - if (removed > 0) { - this.stats.size = this.cache.size; + // Find the oldest entry + for (const [key, entry] of this.cache.entries()) { + if (!oldestValue || entry.expiresAt < oldestValue.expiresAt) { + oldestKey = key; + oldestValue = entry; } - } + } - /** - * Destroy the cache service and cleanup intervals - * - * @description - * Properly destroys the cache service by: - * 1. Clearing the cleanup interval to prevent memory leaks on module unload - * 2. Clearing all cached entries - * 3. Resetting statistics counters - * - * @example - * // On application shutdown - * app.close(() => { - * cache.destroy(); - * }); - * - * // Optional: Export stats before destruction - * const stats = cache.getStats(); - * console.log(`Cache hits: ${stats.hits}, misses: ${stats.misses}`); - * cache.destroy(); - */ - destroy(): void { - clearInterval(this.cleanupInterval); - this.cache.clear(); - this.stats = { hits: 0, misses: 0, size: 0 }; + if (oldestKey) { + this.cache.delete(oldestKey); + removed++; + } } - /** - * Get cache statistics for monitoring and metrics export - * - * @returns Object containing hits, misses, and current cache size - * - * @example - * const stats = cache.getStats(); - * // { hits: 150, misses: 23, size: 45 } - */ - exportStats(): CacheStats { - return { ...this.stats }; + if (removed > 0) { + this.stats.size = this.cache.size; } + } + + /** + * Destroy the cache service and cleanup intervals + * + * @description + * Properly destroys the cache service by: + * 1. Clearing the cleanup interval to prevent memory leaks on module unload + * 2. Clearing all cached entries + * 3. Resetting statistics counters + * + * @example + * // On application shutdown + * app.close(() => { + * cache.destroy(); + * }); + * + * // Optional: Export stats before destruction + * const stats = cache.getStats(); + * console.log(`Cache hits: ${stats.hits}, misses: ${stats.misses}`); + * cache.destroy(); + */ + destroy(): void { + clearInterval(this.cleanupInterval); + this.cache.clear(); + this.stats = { hits: 0, misses: 0, size: 0 }; + } + + /** + * Get cache statistics for monitoring and metrics export + * + * @returns Object containing hits, misses, and current cache size + * + * @example + * const stats = cache.getStats(); + * // { hits: 150, misses: 23, size: 45 } + */ + exportStats(): CacheStats { + return { ...this.stats }; + } } // Global cache instance @@ -220,26 +221,31 @@ export const cacheStats = cache.exportStats(); // Cache key builders for consistency export const CacheKeys = { - user: (userId: string) => `user:${userId}`, - userProfile: (userId: string) => `user:${userId}:profile`, - admin: (userId: string) => `admin:${userId}`, - hackathon: (id: string) => `hackathon:${id}`, - hackathons: () => `hackathons:list`, - event: (id: string) => `event:${id}`, - events: () => `events:list`, - judge: (userId: string) => `judge:${userId}`, - member: (userId: string) => `member:${userId}`, + user: (userId: string) => `user:${userId}`, + userProfile: (userId: string) => `user:${userId}:profile`, + admin: (userId: string) => `admin:${userId}`, + hackathon: (id: string) => `hackathon:${id}`, + hackathons: () => `hackathons:list`, + event: (id: string) => `event:${id}`, + events: () => `events:list`, + judge: (userId: string) => `judge:${userId}`, + member: (userId: string) => `member:${userId}`, + portalContext: (userId: string) => `user:${userId}:portal`, } as const; +export const invalidatePortalContext = (userId: string) => { + cache.delete(CacheKeys.portalContext(userId)); +}; + // Cache invalidation helpers export const invalidateUser = (userId: string) => { - cache.deletePattern(`user:${userId}*`); + cache.deletePattern(`user:${userId}*`); }; export const invalidateHackathons = () => { - cache.deletePattern('hackathon*'); + cache.deletePattern("hackathon*"); }; export const invalidateEvents = () => { - cache.deletePattern('event*'); + cache.deletePattern("event*"); }; diff --git a/packages/api/src/middleware/http-security.ts b/packages/api/src/middleware/http-security.ts index 39fc4915..e5a27d20 100644 --- a/packages/api/src/middleware/http-security.ts +++ b/packages/api/src/middleware/http-security.ts @@ -4,225 +4,232 @@ */ export interface SecurityHeaders { - 'X-Content-Type-Options': string; - 'X-Frame-Options': string; - 'X-XSS-Protection': string; - 'Strict-Transport-Security': string; - 'Content-Security-Policy': string; - 'Referrer-Policy': string; - 'Permissions-Policy': string; - 'X-Request-Id': string; + "X-Content-Type-Options": string; + "X-Frame-Options": string; + "X-XSS-Protection": string; + "Strict-Transport-Security": string; + "Content-Security-Policy": string; + "Referrer-Policy": string; + "Permissions-Policy": string; + "X-Request-Id": string; } export interface CacheHeaders { - 'Cache-Control': string; - 'Vary': string; + "Cache-Control": string; + Vary: string; } export interface RateLimitHeaders { - 'X-RateLimit-Limit': string; - 'X-RateLimit-Remaining': string; - 'X-RateLimit-Reset': string; - 'Retry-After'?: string; + "X-RateLimit-Limit": string; + "X-RateLimit-Remaining": string; + "X-RateLimit-Reset": string; + "Retry-After"?: string; } /** * Generate strict security headers for API responses */ export async function getSecurityHeaders(): Promise { - const crypto = await import('crypto'); - const generateRequestId = () => crypto.randomUUID(); + const crypto = await import("crypto"); + const generateRequestId = () => crypto.randomUUID(); - return { - // Prevent MIME type sniffing - 'X-Content-Type-Options': 'nosniff', + return { + // Prevent MIME type sniffing + "X-Content-Type-Options": "nosniff", - // Prevent clickjacking - 'X-Frame-Options': 'DENY', + // Prevent clickjacking + "X-Frame-Options": "DENY", - // Enable XSS protection (legacy but still useful) - 'X-XSS-Protection': '1; mode=block', + // Enable XSS protection (legacy but still useful) + "X-XSS-Protection": "1; mode=block", - // Force HTTPS for 1 year - 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains', + // Force HTTPS for 1 year + "Strict-Transport-Security": "max-age=31536000; includeSubDomains", - // Content Security Policy - strict for API - // Relaxed to allow API responses (script-src for CSP nonce support) - 'Content-Security-Policy': "default-src 'none'; script-src 'self'; frame-ancestors 'none'", + // Content Security Policy - strict for API + // Relaxed to allow API responses (script-src for CSP nonce support) + "Content-Security-Policy": + "default-src 'none'; script-src 'self'; frame-ancestors 'none'", - // Referrer policy - 'Referrer-Policy': 'strict-origin-when-cross-origin', + // Referrer policy + "Referrer-Policy": "strict-origin-when-cross-origin", - // Permissions policy - disable all features - 'Permissions-Policy': 'geolocation=(), microphone=(), camera=(), usb=(), midi=()', + // Permissions policy - disable all features + "Permissions-Policy": + "geolocation=(), microphone=(), camera=(), usb=(), midi=()", - // Request ID for observability - 'X-Request-Id': generateRequestId(), - }; + // Request ID for observability + "X-Request-Id": generateRequestId(), + }; } /** * Generate cache control headers based on cacheability */ export function getCacheHeaders(options: { - cacheable: boolean; - maxAge?: number; - private?: boolean; - mustRevalidate?: boolean; + cacheable: boolean; + maxAge?: number; + private?: boolean; + mustRevalidate?: boolean; }): CacheHeaders { - const { cacheable, maxAge = 300, private: isPrivate = true, mustRevalidate = true } = options; - - if (!cacheable) { - return { - 'Cache-Control': 'no-store, no-cache, must-revalidate, private', - 'Vary': 'Accept-Encoding, Authorization', - }; - } + const { + cacheable, + maxAge = 300, + private: isPrivate = true, + mustRevalidate = true, + } = options; + + if (!cacheable) { + return { + "Cache-Control": "no-store, no-cache, must-revalidate, private", + Vary: "Accept-Encoding, Authorization", + }; + } - const directives = [ - isPrivate ? 'private' : 'public', - `max-age=${maxAge}`, - ]; + const directives = [isPrivate ? "private" : "public", `max-age=${maxAge}`]; - if (mustRevalidate) { - directives.push('must-revalidate'); - } + if (mustRevalidate) { + directives.push("must-revalidate"); + } - return { - 'Cache-Control': directives.join(', '), - 'Vary': 'Accept-Encoding, Authorization', - }; + return { + "Cache-Control": directives.join(", "), + Vary: "Accept-Encoding, Authorization", + }; } /** * Generate rate limit headers */ export function getRateLimitHeaders( - limit: number, - remaining: number, - resetTimestamp: number, - retryAfter?: number + limit: number, + remaining: number, + resetTimestamp: number, + retryAfter?: number, ): RateLimitHeaders { - const headers: RateLimitHeaders = { - 'X-RateLimit-Limit': limit.toString(), - 'X-RateLimit-Remaining': Math.max(0, remaining).toString(), - 'X-RateLimit-Reset': resetTimestamp.toString(), - }; + const headers: RateLimitHeaders = { + "X-RateLimit-Limit": limit.toString(), + "X-RateLimit-Remaining": Math.max(0, remaining).toString(), + "X-RateLimit-Reset": resetTimestamp.toString(), + }; - if (retryAfter !== undefined) { - headers['Retry-After'] = retryAfter.toString(); - } + if (retryAfter !== undefined) { + headers["Retry-After"] = retryAfter.toString(); + } - return headers; + return headers; } /** * Get client IP address from request, considering proxies */ export function getClientIp(request: Request): string { - // Check X-Forwarded-For header (from proxies/load balancers) - const forwardedFor = request.headers.get('x-forwarded-for'); - if (forwardedFor) { - // Take the first IP in the chain - return forwardedFor.split(',')[0]?.trim() || 'unknown'; - } - - // Check X-Real-IP header - const realIp = request.headers.get('x-real-ip'); - if (realIp) { - return realIp.trim(); - } - - // Fallback to unknown - return 'unknown'; + // Check X-Forwarded-For header (from proxies/load balancers) + const forwardedFor = request.headers.get("x-forwarded-for"); + if (forwardedFor) { + // Take the first IP in the chain + return forwardedFor.split(",")[0]?.trim() || "unknown"; + } + + // Check X-Real-IP header + const realIp = request.headers.get("x-real-ip"); + if (realIp) { + return realIp.trim(); + } + + // Fallback to unknown + return "unknown"; } /** * Generate a fingerprint for rate limiting * Combines IP, user agent, and other factors */ -export function getRequestFingerprint(request: Request, userId?: string): string { - const ip = getClientIp(request); - const userAgent = request.headers.get('user-agent') || 'unknown'; +export function getRequestFingerprint( + request: Request, + userId?: string, +): string { + const ip = getClientIp(request); + const userAgent = request.headers.get("user-agent") || "unknown"; - // Hash the user agent to keep fingerprint shorter - const uaHash = simpleHash(userAgent); + // Hash the user agent to keep fingerprint shorter + const uaHash = simpleHash(userAgent); - if (userId) { - return `user:${userId}:${ip}`; - } + if (userId) { + return `user:${userId}:${ip}`; + } - return `anon:${ip}:${uaHash}`; + return `anon:${ip}:${uaHash}`; } /** * Simple hash function for strings */ function simpleHash(str: string): string { - let hash = 0; - for (let i = 0; i < str.length; i++) { - const char = str.charCodeAt(i); - hash = ((hash << 5) - hash) + char; - hash = hash & hash; // Convert to 32-bit integer - } - return Math.abs(hash).toString(36); + let hash = 0; + for (let i = 0; i < str.length; i++) { + const char = str.charCodeAt(i); + hash = (hash << 5) - hash + char; + hash = hash & hash; // Convert to 32-bit integer + } + return Math.abs(hash).toString(36); } /** * Apply all headers to a Response object */ export async function applySecurityHeaders( - response: Response, - options?: { - cacheable?: boolean; - maxAge?: number; - rateLimit?: { - limit: number; - remaining: number; - reset: number; - retryAfter?: number; - }; - request?: Request; // Optional request for X-Request-Id - } + response: Response, + options?: { + cacheable?: boolean; + maxAge?: number; + rateLimit?: { + limit: number; + remaining: number; + reset: number; + retryAfter?: number; + }; + request?: Request; // Optional request for X-Request-Id + }, ): Promise { - const headers = new Headers(response.headers); - - // Apply security headers - const securityHeaders = await getSecurityHeaders(); - Object.entries(securityHeaders).forEach(([key, value]) => { + const headers = new Headers(response.headers); + + // Apply security headers + const securityHeaders = await getSecurityHeaders(); + Object.entries(securityHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply cache headers + const cacheHeaders = getCacheHeaders({ + cacheable: options?.cacheable ?? false, + maxAge: options?.maxAge, + }); + Object.entries(cacheHeaders).forEach(([key, value]) => { + headers.set(key, value); + }); + + // Apply rate limit headers if provided + if (options?.rateLimit) { + const rateLimitHeaders = getRateLimitHeaders( + options.rateLimit.limit, + options.rateLimit.remaining, + options.rateLimit.reset, + options.rateLimit.retryAfter, + ); + Object.entries(rateLimitHeaders).forEach(([key, value]) => { + if (value !== undefined) { headers.set(key, value); + } }); + } - // Apply cache headers - const cacheHeaders = getCacheHeaders({ - cacheable: options?.cacheable ?? false, - maxAge: options?.maxAge, - }); - Object.entries(cacheHeaders).forEach(([key, value]) => { - headers.set(key, value); - }); + // Clone and read the body to avoid "body already consumed" errors + const body = await response.clone().arrayBuffer(); - // Apply rate limit headers if provided - if (options?.rateLimit) { - const rateLimitHeaders = getRateLimitHeaders( - options.rateLimit.limit, - options.rateLimit.remaining, - options.rateLimit.reset, - options.rateLimit.retryAfter - ); - Object.entries(rateLimitHeaders).forEach(([key, value]) => { - if (value !== undefined) { - headers.set(key, value); - } - }); - } - - // Clone and read the body to avoid "body already consumed" errors - const body = await response.clone().arrayBuffer(); - - return new Response(body, { - status: response.status, - statusText: response.statusText, - headers, - }); + return new Response(body, { + status: response.status, + statusText: response.statusText, + headers, + }); } diff --git a/packages/api/src/middleware/procedures.ts b/packages/api/src/middleware/procedures.ts index dcd917ad..fe25dab5 100644 --- a/packages/api/src/middleware/procedures.ts +++ b/packages/api/src/middleware/procedures.ts @@ -1,6 +1,6 @@ import { TRPCError } from "@trpc/server"; import { protectedProcedure } from "../trpc"; -import { admins, judges } from "@query/db"; +import { admins, judges, judgingProjects, judgeQueue } from "@query/db"; import { eq, and } from "drizzle-orm"; import { CacheKeys } from "./cache"; @@ -13,12 +13,14 @@ export const isAdmin = protectedProcedure.use(async ({ ctx, next }) => { let admin = ctx.cache.get(cacheKey); if (!admin) { - admin = (await (ctx.db as NonNullable).query.admins.findFirst({ // try catch for ctx.db - where: and( - eq(admins.userId, ctx.userId as string), - eq(admins.isActive, true) - ), - })) ?? null; + admin = + (await (ctx.db as NonNullable).query.admins.findFirst({ + // try catch for ctx.db + where: and( + eq(admins.userId, ctx.userId as string), + eq(admins.isActive, true), + ), + })) ?? null; if (admin) ctx.cache.set(cacheKey, admin, 60); } @@ -48,20 +50,62 @@ export const isSuperAdmin = isAdmin.use(async ({ ctx, next }) => { }); /** - * Middleware that verifies the current user is an active judge. - * Result is cached for 60s per user to avoid a DB round-trip on every request. + * Middleware that verifies the current user is an active judge for a specific hackathon. + * Result is cached for 60s per user per hackathon to avoid a DB round-trip on every request. */ -export const isJudge = protectedProcedure.use(async ({ ctx, next }) => { - const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:role`; +export const isJudge = protectedProcedure.use(async ({ ctx, next, getRawInput }) => { + const db = ctx.db as NonNullable; + + // Try to resolve hackathonId from rawInput + const rawInput = await getRawInput(); + let hackathonId: string | undefined; + if (rawInput && typeof rawInput === "object") { + const inputObj = rawInput as Record; + if (typeof inputObj.hackathonId === "string") { + hackathonId = inputObj.hackathonId; + } else if (typeof inputObj.projectId === "string") { + const project = await db.query.judgingProjects.findFirst({ + where: eq(judgingProjects.id, inputObj.projectId), + columns: { hackathonId: true }, + }); + hackathonId = project?.hackathonId; + } else if (typeof inputObj.queueId === "string") { + const queue = await db.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, inputObj.queueId), + columns: { hackathonId: true }, + }); + hackathonId = queue?.hackathonId; + } + } + + // Fallback to the latest hackathon if not specified in input + if (!hackathonId) { + const latest = await db.query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + hackathonId = latest?.id; + } + + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for judging", + }); + } + + const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:${hackathonId}:role`; let judge = ctx.cache.get(cacheKey); if (!judge) { - judge = (await (ctx.db as NonNullable).query.judges.findFirst({ - where: and( - eq(judges.userId, ctx.userId as string), - eq(judges.isActive, true) - ), - })) ?? null; + judge = + (await db.query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId as string), + eq(judges.hackathonId, hackathonId), + eq(judges.isActive, true), + ), + })) ?? null; if (judge) ctx.cache.set(cacheKey, judge, 60); } @@ -69,7 +113,7 @@ export const isJudge = protectedProcedure.use(async ({ ctx, next }) => { if (!judge) { throw new TRPCError({ code: "FORBIDDEN", - message: "Judge access required", + message: "Judge access required for this hackathon", }); } diff --git a/packages/api/src/middleware/security.ts b/packages/api/src/middleware/security.ts index cf81e36f..e0a759d1 100644 --- a/packages/api/src/middleware/security.ts +++ b/packages/api/src/middleware/security.ts @@ -46,7 +46,10 @@ const enforceSizeLimit = () => { let oldestKey: string | null = null; let oldestTime = Infinity; for (const [ip, record] of ipTrackingStore.entries()) { - if (now - record.firstRequest > 5 * 60 * 1000 && now < record.blockedUntil) { + if ( + now - record.firstRequest > 5 * 60 * 1000 && + now < record.blockedUntil + ) { if (record.firstRequest < oldestTime) { oldestTime = record.firstRequest; oldestKey = ip; @@ -80,7 +83,8 @@ setInterval(enforceSizeLimit, 60 * 1000); // These thresholds are intentionally lower than the absolute limits to allow headroom const DDOS_CONFIG = { // Rate limits are configurable via environment variables - maxRequestsPerMinute: Number(process.env.DDOS_MAX_REQUESTS_PER_MINUTE) || 1000, // Adjusted for safe operation + maxRequestsPerMinute: + Number(process.env.DDOS_MAX_REQUESTS_PER_MINUTE) || 1000, // Adjusted for safe operation suspiciousThreshold: Number(process.env.DDOS_SUSPICIOUS_THRESHOLD) || 700, // Lower threshold for safety blockDurationMs: Number(process.env.DDOS_BLOCK_DURATION_MS) || 5 * 60 * 1000, burstThreshold: Number(process.env.DDOS_BURST_THRESHOLD) || 100, // Reduced for safety @@ -115,7 +119,7 @@ export function rateLimit( identifier: string, maxTokens: number, refillRatePerSecond: number, - tokensToConsume: number = 1 + tokensToConsume: number = 1, ): { allowed: boolean; retryAfter?: number } { const now = Date.now(); let record = rateLimitStore.get(identifier); @@ -170,8 +174,8 @@ export const RATE_LIMITS = { mutationTokens: 3, }, authenticated: { - maxTokens: 300, // Raised from 100 to prevent legitimate multi-step form users from being blocked - refillRate: 5, // Raised from 2 to recover faster between form steps + maxTokens: 300, // Raised from 100 to prevent legitimate multi-step form users from being blocked + refillRate: 5, // Raised from 2 to recover faster between form steps queryTokens: 1, mutationTokens: 2, }, @@ -192,8 +196,8 @@ export const RATE_LIMITS = { const SANITIZE_OPTIONS: sanitizeHtml.IOptions = { allowedTags: [], allowedAttributes: {}, - disallowedTagsMode: 'discard', - nonTextTags: ['style', 'script', 'textarea', 'noscript', 'option', 'xmp'], + disallowedTagsMode: "discard", + nonTextTags: ["style", "script", "textarea", "noscript", "option", "xmp"], }; export function sanitizeInput(input: unknown, depth: number = 0): unknown { @@ -208,7 +212,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return input; } - if (typeof input === 'string') { + if (typeof input === "string") { const sanitized = sanitizeHtml(input, SANITIZE_OPTIONS) .trim() .slice(0, 10000); @@ -223,7 +227,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return sanitized; } - if (typeof input === 'number') { + if (typeof input === "number") { if (!Number.isFinite(input)) { throw new TRPCError({ code: "BAD_REQUEST", @@ -233,7 +237,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { return input; } - if (typeof input === 'boolean') { + if (typeof input === "boolean") { return input; } @@ -244,10 +248,10 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { message: "Array too large", }); } - return input.map(item => sanitizeInput(item, depth + 1)); + return input.map((item) => sanitizeInput(item, depth + 1)); } - if (typeof input === 'object') { + if (typeof input === "object") { const keys = Object.keys(input as object); if (keys.length > 50) { throw new TRPCError({ @@ -258,7 +262,7 @@ export function sanitizeInput(input: unknown, depth: number = 0): unknown { const sanitized: Record = {}; for (const [key, value] of Object.entries(input as object)) { - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { + if (key === "__proto__" || key === "constructor" || key === "prototype") { continue; } if (!/^[\w.-]{1,100}$/.test(key)) { @@ -292,33 +296,39 @@ function hasInjectionPattern(str: string): boolean { /on\w+\s*=/i, ]; - return patterns.some(pattern => pattern.test(str)); + return patterns.some((pattern) => pattern.test(str)); } export function validateEmail(email: string): boolean { - if (typeof email !== 'string') return false; - const emailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; + if (typeof email !== "string") return false; + const emailRegex = + /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/; return emailRegex.test(email) && email.length <= 254; } export function validateUrl(url: string): boolean { - if (typeof url !== 'string') return false; + if (typeof url !== "string") return false; try { const parsed = new URL(url); - return ['http:', 'https:'].includes(parsed.protocol) && url.length <= 2048; + return ["http:", "https:"].includes(parsed.protocol) && url.length <= 2048; } catch { return false; } } export function validateUUID(uuid: string): boolean { - if (typeof uuid !== 'string') return false; - const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; + if (typeof uuid !== "string") return false; + const uuidRegex = + /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i; return uuidRegex.test(uuid); } export type SecurityEvent = { - type: 'rate_limit' | 'injection_attempt' | 'auth_failure' | 'validation_error'; + type: + | "rate_limit" + | "injection_attempt" + | "auth_failure" + | "validation_error"; identifier: string; details?: string; timestamp: number; @@ -329,7 +339,7 @@ const MAX_LOG_SIZE = 1000; import { db, auditLogs } from "@query/db"; -const flushQueue: Omit[] = []; +const flushQueue: Omit[] = []; const FLUSH_INTERVAL = 5000; // Keep batch size small enough that PG parameter count (5 cols × N rows) never approaches the 65535 limit const MAX_BATCH_SIZE = 25; @@ -352,7 +362,12 @@ async function flushLogs() { try { const fs = await import("fs"); const errorLog = `[${new Date().toISOString()}] [Security] CRITICAL: DB unavailable, ${batch.length} security logs affected.\n`; - fs.appendFile("packages/api/src/.security-errors.log", errorLog, { encoding: "utf8" }, () => {}); + fs.appendFile( + "packages/api/src/.security-errors.log", + errorLog, + { encoding: "utf8" }, + () => {}, + ); } catch { // Ignore fs errors } @@ -360,19 +375,33 @@ async function flushLogs() { } try { - const values = batch.map(event => { - const safeDetails = event.details ? event.details.replace(/(password|token|secret)=[^&]*/gi, '$1=***') : undefined; - const severity = event.type === 'injection_attempt' ? 'critical' : - event.type === 'auth_failure' ? 'warn' : 'info'; + const values = batch.map((event) => { + const safeDetails = event.details + ? event.details.replace(/(password|token|secret)=[^&]*/gi, "$1=***") + : undefined; + const severity = + event.type === "injection_attempt" + ? "critical" + : event.type === "auth_failure" + ? "warn" + : "info"; // identifier can be a raw userId UUID, 'user:UUID', or an IP address let resolvedUserId: string | null = null; - if (event.identifier.startsWith('user:')) { - resolvedUserId = event.identifier.split(':')[1] ?? null; - } else if (event.identifier.startsWith('ip-') || event.identifier.includes('.') || event.identifier.includes(':')) { + if (event.identifier.startsWith("user:")) { + resolvedUserId = event.identifier.split(":")[1] ?? null; + } else if ( + event.identifier.startsWith("ip-") || + event.identifier.includes(".") || + event.identifier.includes(":") + ) { // IP address — no userId resolvedUserId = null; - } else if (/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(event.identifier)) { + } else if ( + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test( + event.identifier, + ) + ) { // Raw UUID — treat as userId resolvedUserId = event.identifier; } @@ -405,7 +434,12 @@ async function flushLogs() { try { const fs = await import("fs"); const errorLog = new Date().toISOString() + "\n" + errorMsg + "\n"; - fs.appendFile("packages/api/src/.security-errors.log", errorLog, { encoding: "utf8" }, () => {}); + fs.appendFile( + "packages/api/src/.security-errors.log", + errorLog, + { encoding: "utf8" }, + () => {}, + ); } catch { // Ignore fs errors } @@ -417,12 +451,12 @@ setInterval(() => { void flushLogs(); }, FLUSH_INTERVAL); -export function logSecurityEvent(event: Omit) { +export function logSecurityEvent(event: Omit) { const now = Date.now(); // Deduplicate rate_limit events: suppress repeat logs for the same identifier // within the cooldown window to prevent audit log storms under heavy rate limiting. - if (event.type === 'rate_limit') { + if (event.type === "rate_limit") { const lastLogged = rateLimitLogCooldown.get(event.identifier); if (lastLogged && now - lastLogged < RATE_LIMIT_LOG_COOLDOWN_MS) { return; // Suppressed — already logged recently for this identifier @@ -432,7 +466,8 @@ export function logSecurityEvent(event: Omit) { // Prune cooldown map periodically to prevent memory leak if (rateLimitLogCooldown.size > 10000) { for (const [id, ts] of rateLimitLogCooldown.entries()) { - if (now - ts > RATE_LIMIT_LOG_COOLDOWN_MS) rateLimitLogCooldown.delete(id); + if (now - ts > RATE_LIMIT_LOG_COOLDOWN_MS) + rateLimitLogCooldown.delete(id); } } } @@ -451,17 +486,23 @@ export function logSecurityEvent(event: Omit) { } // Instant flush if critical or queue is at batch threshold - if (event.type === 'injection_attempt' || flushQueue.length >= MAX_BATCH_SIZE) { + if ( + event.type === "injection_attempt" || + flushQueue.length >= MAX_BATCH_SIZE + ) { void flushLogs(); } } export function getRecentSecurityEvents(minutes: number = 60): SecurityEvent[] { const cutoff = Date.now() - minutes * 60 * 1000; - return securityLog.filter(e => e.timestamp > cutoff); + return securityLog.filter((e) => e.timestamp > cutoff); } -export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter?: number } { +export function ddosProtection(clientIp: string): { + allowed: boolean; + retryAfter?: number; +} { const now = Date.now(); // Get or create IP record @@ -480,7 +521,7 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter // Check if IP is blocked if (record.isBlocked && now < record.blockedUntil) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Blocked IP attempted access`, }); @@ -501,13 +542,16 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter record.requests++; // Check for burst (too many requests in short window) - if (elapsed < DDOS_CONFIG.burstWindowMs && record.requests > DDOS_CONFIG.burstThreshold) { + if ( + elapsed < DDOS_CONFIG.burstWindowMs && + record.requests > DDOS_CONFIG.burstThreshold + ) { record.suspiciousActivity++; record.isBlocked = true; record.blockedUntil = now + DDOS_CONFIG.blockDurationMs; logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Burst attack detected: ${record.requests} requests in ${elapsed}ms`, }); @@ -525,7 +569,7 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter record.blockedUntil = now + DDOS_CONFIG.blockDurationMs; logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: clientIp, details: `Sustained attack: ${record.requests} requests/minute`, }); @@ -544,7 +588,10 @@ export function ddosProtection(clientIp: string): { allowed: boolean; retryAfter return { allowed: true }; } -export function validateRequestSize(payload: unknown, maxSizeBytes: number = 1024 * 100): boolean { +export function validateRequestSize( + payload: unknown, + maxSizeBytes: number = 1024 * 100, +): boolean { try { const jsonString = JSON.stringify(payload); return new TextEncoder().encode(jsonString).length <= maxSizeBytes; diff --git a/packages/api/src/root.ts b/packages/api/src/root.ts index c6982e9f..47909997 100644 --- a/packages/api/src/root.ts +++ b/packages/api/src/root.ts @@ -9,7 +9,6 @@ import { judgeRouter } from "./routers/judge"; import { stripeRouter } from "./routers/stripe"; import { auditRouter } from "./routers/audit"; import { teamRouter } from "./routers/team"; -import { settingsRouter } from "./routers/settings"; export const appRouter = createTRPCRouter({ hello: helloRouter, @@ -22,7 +21,6 @@ export const appRouter = createTRPCRouter({ stripe: stripeRouter, audit: auditRouter, team: teamRouter, - settings: settingsRouter, }); -export type AppRouter = typeof appRouter; \ No newline at end of file +export type AppRouter = typeof appRouter; diff --git a/packages/api/src/routers/admin.ts b/packages/api/src/routers/admin.ts index df94e1c3..6c0a089d 100644 --- a/packages/api/src/routers/admin.ts +++ b/packages/api/src/routers/admin.ts @@ -1,16 +1,23 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { admins, users, events, eventCheckIns, hackathons, hackathonParticipants } from "@query/db"; +import { + admins, + users, + events, + eventCheckIns, + hackathons, + hackathonParticipants, +} from "@query/db"; import { eq, and, count, gte, inArray } from "drizzle-orm"; -import { CacheKeys } from "../middleware/cache"; +import { CacheKeys, invalidatePortalContext } from "../middleware/cache"; import { isAdmin, isSuperAdmin } from "../middleware/procedures"; import type { DrizzleDB } from "@query/db"; export const adminRouter = createTRPCRouter({ isAdmin: protectedProcedure.query(async ({ ctx }) => { if (!ctx.userId) { - throw new TRPCError ({ + throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot create an admin", }); @@ -32,7 +39,7 @@ export const adminRouter = createTRPCRouter({ const admin = await (ctx.db as DrizzleDB).query.admins.findFirst({ where: and( eq(admins.userId, ctx.userId as string), - eq(admins.isActive, true) + eq(admins.isActive, true), ), }); @@ -51,17 +58,21 @@ export const adminRouter = createTRPCRouter({ const startOfToday = new Date(); startOfToday.setHours(0, 0, 0, 0); - const [ - participantsResult, - eventsResult, - hackathonsResult, - checkinsResult - ] = await Promise.all([ - (ctx.db as DrizzleDB).select({ count: count() }).from(hackathonParticipants), - (ctx.db as DrizzleDB).select({ count: count() }).from(events), - (ctx.db as DrizzleDB).select({ count: count() }).from(hackathons).where(inArray(hackathons.status, ["open", "in_progress"])), - (ctx.db as DrizzleDB).select({ count: count() }).from(eventCheckIns).where(gte(eventCheckIns.checkedInAt, startOfToday)), - ]); + const [participantsResult, eventsResult, hackathonsResult, checkinsResult] = + await Promise.all([ + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(hackathonParticipants), + (ctx.db as DrizzleDB).select({ count: count() }).from(events), + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(hackathons) + .where(inArray(hackathons.status, ["open", "in_progress"])), + (ctx.db as DrizzleDB) + .select({ count: count() }) + .from(eventCheckIns) + .where(gte(eventCheckIns.checkedInAt, startOfToday)), + ]); return { totalParticipants: participantsResult[0]?.count ?? 0, @@ -72,23 +83,25 @@ export const adminRouter = createTRPCRouter({ }), list: isAdmin.query(async ({ ctx }) => { - const fetchAdmins = () => (ctx.db as DrizzleDB).query.admins.findMany({ - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, + const fetchAdmins = () => + (ctx.db as DrizzleDB).query.admins.findMany({ + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, }, }, - }, - orderBy: (admins, { desc }) => [desc(admins.createdAt)], - limit: 100, - }); + orderBy: (admins, { desc }) => [desc(admins.createdAt)], + limit: 100, + }); const cacheKey = `admins:list`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached) return cached; const allAdmins = await fetchAdmins(); @@ -103,7 +116,7 @@ export const adminRouter = createTRPCRouter({ userId: z.string().min(1).max(255), role: z.enum(["super_admin", "admin", "moderator"]), permissions: z.array(z.string().max(100)).max(50).optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { // Parallel check: user exists AND not already admin @@ -122,7 +135,10 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "User not found" }); } if (existingAdmin) { - throw new TRPCError({ code: "BAD_REQUEST", message: "User is already an admin" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "User is already an admin", + }); } const result = await (ctx.db as DrizzleDB) @@ -136,12 +152,16 @@ export const adminRouter = createTRPCRouter({ const newAdmin = result[0]; if (!newAdmin) { - throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to create admin" }); + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to create admin", + }); } // Invalidate admin caches after creation ctx.cache.deletePattern(`${CacheKeys.admin(input.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(input.userId); return newAdmin; }), @@ -153,7 +173,7 @@ export const adminRouter = createTRPCRouter({ role: z.enum(["super_admin", "admin", "moderator"]).optional(), permissions: z.array(z.string().max(100)).max(50).optional(), isActive: z.boolean().optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const targetAdmin = await (ctx.db as DrizzleDB).query.admins.findFirst({ @@ -164,23 +184,35 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "Admin not found" }); } if (targetAdmin.userId === ctx.userId && input.isActive === false) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot deactivate your own admin account" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Cannot deactivate your own admin account", + }); } const result = await (ctx.db as DrizzleDB) .update(admins) - .set({ role: input.role, permissions: input.permissions, isActive: input.isActive, updatedAt: new Date() }) + .set({ + role: input.role, + permissions: input.permissions, + isActive: input.isActive, + updatedAt: new Date(), + }) .where(eq(admins.id, input.adminId)) .returning(); const updatedAdmin = result[0]; if (!updatedAdmin) { - throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to update admin" }); + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to update admin", + }); } // Bust the affected user's admin cache so next request re-checks ctx.cache.deletePattern(`${CacheKeys.admin(targetAdmin.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(targetAdmin.userId); return updatedAdmin; }), @@ -196,14 +228,20 @@ export const adminRouter = createTRPCRouter({ throw new TRPCError({ code: "NOT_FOUND", message: "Admin not found" }); } if (targetAdmin.userId === ctx.userId) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Cannot remove your own admin account" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Cannot remove your own admin account", + }); } - await (ctx.db as DrizzleDB).delete(admins).where(eq(admins.id, input.adminId)); + await (ctx.db as DrizzleDB) + .delete(admins) + .where(eq(admins.id, input.adminId)); ctx.cache.deletePattern(`${CacheKeys.admin(targetAdmin.userId)}*`); ctx.cache.delete(`admins:list`); + invalidatePortalContext(targetAdmin.userId); return { success: true }; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/audit.ts b/packages/api/src/routers/audit.ts index c0eb46b1..d378f506 100644 --- a/packages/api/src/routers/audit.ts +++ b/packages/api/src/routers/audit.ts @@ -5,43 +5,43 @@ import { isAdmin } from "../middleware/procedures"; import { desc, eq, and, sql } from "drizzle-orm"; export const auditRouter = createTRPCRouter({ - list: isAdmin - .input( - z.object({ - limit: z.number().min(1).max(100).default(50), - offset: z.number().min(0).default(0), - severity: z.enum(["info", "warn", "critical"]).optional(), - userId: z.string().optional(), - }) - ) - .query(async ({ ctx, input }) => { - const filters = and( - input.severity ? eq(auditLogs.severity, input.severity) : undefined, - input.userId ? eq(auditLogs.userId, input.userId) : undefined - ); + list: isAdmin + .input( + z.object({ + limit: z.number().min(1).max(100).default(50), + offset: z.number().min(0).default(0), + severity: z.enum(["info", "warn", "critical"]).optional(), + userId: z.string().optional(), + }), + ) + .query(async ({ ctx, input }) => { + const filters = and( + input.severity ? eq(auditLogs.severity, input.severity) : undefined, + input.userId ? eq(auditLogs.userId, input.userId) : undefined, + ); - const logs = await ctx.db!.query.auditLogs.findMany({ - where: filters, - orderBy: [desc(auditLogs.createdAt)], - limit: input.limit, - offset: input.offset, - }); + const logs = await ctx.db!.query.auditLogs.findMany({ + where: filters, + orderBy: [desc(auditLogs.createdAt)], + limit: input.limit, + offset: input.offset, + }); - const totalResult = await ctx.db! - .select({ count: sql`count(*)` }) - .from(auditLogs) - .where(filters); + const totalResult = await ctx + .db!.select({ count: sql`count(*)` }) + .from(auditLogs) + .where(filters); - const total = Number(totalResult[0]?.count || 0); + const total = Number(totalResult[0]?.count || 0); - return { - logs, - pagination: { - total, - limit: input.limit, - offset: input.offset, - hasMore: input.offset + input.limit < total, - } - }; - }), + return { + logs, + pagination: { + total, + limit: input.limit, + offset: input.offset, + hasMore: input.offset + input.limit < total, + }, + }; + }), }); diff --git a/packages/api/src/routers/events.ts b/packages/api/src/routers/events.ts index bf13ab03..b497f628 100644 --- a/packages/api/src/routers/events.ts +++ b/packages/api/src/routers/events.ts @@ -15,7 +15,7 @@ export const eventRouter = createTRPCRouter({ location: z.string().max(200).optional(), eventDate: z.date(), maxCheckIns: z.number().int().positive().optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const qrCode = randomUUID(); @@ -30,7 +30,7 @@ export const eventRouter = createTRPCRouter({ .returning(); // Invalidate all event-related cache entries after creation - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return newEvent; }), @@ -58,24 +58,26 @@ export const eventRouter = createTRPCRouter({ // Invalidate event and related caches after QR regeneration ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return updatedEvent; }), listAll: isAdmin.query(async ({ ctx }) => { - const fetchEvents = () => (ctx.db as NonNullable).query.events.findMany({ - orderBy: (events, { desc }) => [desc(events.eventDate)], - with: { - createdBy: { - columns: { name: true, email: true }, + const fetchEvents = () => + (ctx.db as NonNullable).query.events.findMany({ + orderBy: (events, { desc }) => [desc(events.eventDate)], + with: { + createdBy: { + columns: { name: true, email: true }, + }, }, - }, - limit: 100, - }); + limit: 100, + }); const cacheKey = `events:list:all`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached !== null) return cached; const allEvents = await fetchEvents(); @@ -84,26 +86,32 @@ export const eventRouter = createTRPCRouter({ }), list: publicProcedure.query(async ({ ctx }) => { - const fetchEvents = () => (ctx.db as NonNullable).query.events.findMany({ - orderBy: (events, { desc }) => [desc(events.eventDate)], - limit: 50, - }); + const fetchEvents = () => + (ctx.db as NonNullable).query.events.findMany({ + orderBy: (events, { desc }) => [desc(events.eventDate)], + limit: 50, + }); const cacheKey = `events:list:public`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); let allEvents = cached; - + if (!allEvents) { allEvents = await fetchEvents(); ctx.cache.set(cacheKey, allEvents, 30); } const now = new Date(); - return allEvents.map(event => { + return allEvents.map((event) => { const { qrCode: _qrCode, ...safeEvent } = event; return { ...safeEvent, - status: (event.checkInEnabled && event.eventDate >= new Date(now.getTime() - 24 * 60 * 60 * 1000)) ? "open" : "closed", + status: + event.checkInEnabled && + event.eventDate >= new Date(now.getTime() - 24 * 60 * 60 * 1000) + ? "open" + : "closed", }; }); }), @@ -111,7 +119,9 @@ export const eventRouter = createTRPCRouter({ getById: isAdmin .input(z.object({ id: z.string().uuid() })) .query(async ({ ctx, input }) => { - const event = await (ctx.db as NonNullable).query.events.findFirst({ + const event = await ( + ctx.db as NonNullable + ).query.events.findFirst({ where: eq(events.id, input.id), with: { checkIns: { @@ -131,7 +141,9 @@ export const eventRouter = createTRPCRouter({ }, }, }, - orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], + orderBy: (eventCheckIns, { desc }) => [ + desc(eventCheckIns.checkedInAt), + ], }, }, }); @@ -151,7 +163,7 @@ export const eventRouter = createTRPCRouter({ z.object({ eventId: z.string().uuid(), enabled: z.boolean(), - }) + }), ) .mutation(async ({ ctx, input }) => { const [updatedEvent] = await (ctx.db as NonNullable) @@ -165,7 +177,7 @@ export const eventRouter = createTRPCRouter({ // Invalidate event and check-in related caches ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return updatedEvent; }), @@ -174,13 +186,17 @@ export const eventRouter = createTRPCRouter({ .input(z.object({ eventId: z.string().uuid() })) .mutation(async ({ ctx, input }) => { // Also delete associated check-ins before removing the event - await (ctx.db as NonNullable).delete(eventCheckIns).where(eq(eventCheckIns.eventId, input.eventId)); + await (ctx.db as NonNullable) + .delete(eventCheckIns) + .where(eq(eventCheckIns.eventId, input.eventId)); - await (ctx.db as NonNullable).delete(events).where(eq(events.id, input.eventId)); + await (ctx.db as NonNullable) + .delete(events) + .where(eq(events.id, input.eventId)); // Invalidate all event-related cache entries after deletion ctx.cache.deletePattern(`event:${input.eventId}`); - ctx.cache.deletePattern('event*'); + ctx.cache.deletePattern("event*"); return { success: true }; }), @@ -188,98 +204,108 @@ export const eventRouter = createTRPCRouter({ checkIn: protectedProcedure .input(z.object({ qrCode: z.string().uuid() })) .mutation(async ({ ctx, input }) => { - return await (ctx.db as NonNullable).transaction(async (tx) => { - const event = await tx.query.events.findFirst({ - where: eq(events.qrCode, input.qrCode), - }); - - if (!event) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Invalid QR code", - }); - } - - if (!event.checkInEnabled) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Check-in not enabled for this event", + return await (ctx.db as NonNullable).transaction( + async (tx) => { + const event = await tx.query.events.findFirst({ + where: eq(events.qrCode, input.qrCode), }); - } - if (event.maxCheckIns && event.currentCheckIns >= event.maxCheckIns) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Event is full", - }); - } - - const [member, existingCheckIn] = await Promise.all([ - tx.query.members.findFirst({ - where: eq(members.userId, ctx.userId as string), - }), - tx.query.eventCheckIns.findFirst({ - where: and( - eq(eventCheckIns.eventId, event.id), - eq(eventCheckIns.userId, ctx.userId as string) - ), - }), - ]); - - if (!member) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Must be a member to check in", - }); - } - - if (existingCheckIn) { - throw new TRPCError({ - code: "CONFLICT", - message: "Already checked in", - }); - } - - await Promise.all([ - tx.insert(eventCheckIns).values({ - eventId: event.id, - userId: ctx.userId as string, - memberId: member.id, - checkInMethod: "qr_code", - }), - tx - .update(events) - .set({ - currentCheckIns: sql`${events.currentCheckIns} + 1`, - }) - .where(eq(events.id, event.id)), - ]); - - // Invalidate event and related caches after successful check-in - ctx.cache.deletePattern(`event:${event.id}`); - ctx.cache.deletePattern('event*'); - - return { - success: true, - eventTitle: event.title, - }; - }); + if (!event) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Invalid QR code", + }); + } + + if (!event.checkInEnabled) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Check-in not enabled for this event", + }); + } + + if (event.maxCheckIns && event.currentCheckIns >= event.maxCheckIns) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Event is full", + }); + } + + const [member, existingCheckIn] = await Promise.all([ + tx.query.members.findFirst({ + where: eq(members.userId, ctx.userId as string), + }), + tx.query.eventCheckIns.findFirst({ + where: and( + eq(eventCheckIns.eventId, event.id), + eq(eventCheckIns.userId, ctx.userId as string), + ), + }), + ]); + + if (!member) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Must be a member to check in", + }); + } + + if (existingCheckIn) { + throw new TRPCError({ + code: "CONFLICT", + message: "Already checked in", + }); + } + + await Promise.all([ + tx.insert(eventCheckIns).values({ + eventId: event.id, + userId: ctx.userId as string, + memberId: member.id, + checkInMethod: "qr_code", + }), + tx + .update(events) + .set({ + currentCheckIns: sql`${events.currentCheckIns} + 1`, + }) + .where(eq(events.id, event.id)), + ]); + + // Invalidate event and related caches after successful check-in + ctx.cache.deletePattern(`event:${event.id}`); + ctx.cache.deletePattern("event*"); + + return { + success: true, + eventTitle: event.title, + }; + }, + ); }), myEvents: protectedProcedure.query(async ({ ctx }) => { - const fetchCheckIns = () => (ctx.db as NonNullable).query.eventCheckIns.findMany({ - where: eq(eventCheckIns.userId, ctx.userId as string), - with: { - event: { - columns: { id: true, title: true, description: true, location: true, eventDate: true }, + const fetchCheckIns = () => + (ctx.db as NonNullable).query.eventCheckIns.findMany({ + where: eq(eventCheckIns.userId, ctx.userId as string), + with: { + event: { + columns: { + id: true, + title: true, + description: true, + location: true, + eventDate: true, + }, + }, }, - }, - orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], - limit: 50, - }); + orderBy: (eventCheckIns, { desc }) => [desc(eventCheckIns.checkedInAt)], + limit: 50, + }); const cacheKey = `events:my:${ctx.userId}`; - const cached = ctx.cache.get>>(cacheKey); + const cached = + ctx.cache.get>>(cacheKey); if (cached) return cached; const checkIns = await fetchCheckIns(); @@ -301,4 +327,4 @@ export const eventRouter = createTRPCRouter({ ctx.cache.set(cacheKey, stats, 60); return stats; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/hackathon.ts b/packages/api/src/routers/hackathon.ts deleted file mode 100644 index b7b1b93e..00000000 --- a/packages/api/src/routers/hackathon.ts +++ /dev/null @@ -1,859 +0,0 @@ -import { z } from "zod"; -import { TRPCError } from "@trpc/server"; -import { createTRPCRouter, protectedProcedure, publicProcedure } from "../trpc"; -import { - hackathons, - hackathonParticipants, - hackathonProjects, - hackathonTeams, - members, - hackathonEvents, - hackathonEventAttendees, -} from "@query/db"; -import { eq, and, gte, sql, inArray } from "drizzle-orm"; -import { isAdmin } from "../middleware/procedures"; -import { CacheKeys } from "../middleware/cache"; -import type { DrizzleDB } from "@query/db"; - -export const hackathonRouter = createTRPCRouter({ - list: publicProcedure - .input( - z.object({ - status: z.enum(["draft", "open", "closed", "in_progress", "completed", "cancelled"]).optional(), - upcoming: z.boolean().optional(), - limit: z.number().min(1).max(100).default(20), - offset: z.number().min(0).default(0), - }) - ) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathons:list:${input.status || 'all'}:${input.upcoming ? 'upcoming' : 'all'}:${input.limit}:${input.offset}`; - - type DB = DrizzleDB; - type HackathonList = Awaited>; - // Check cache first - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const now = new Date(); - - const allHackathons = await (ctx.db as DrizzleDB).query.hackathons.findMany({ - where: and( - eq(hackathons.isPublic, true), - input.status ? eq(hackathons.status, input.status) : undefined, - input.upcoming ? gte(hackathons.startDate, now) : undefined - ), - limit: input.limit, - offset: input.offset, - orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], - }); - - ctx.cache.set(cacheKey, allHackathons, 60); - - return allHackathons; - }), - - listAll: isAdmin - .query(async ({ ctx }) => { - const cacheKey = "hackathons:list:all"; - - const fetchAll = async () => { - return await (ctx.db as DrizzleDB).query.hackathons.findMany({ - orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], - }); - }; - - const cached = ctx.cache.get>>(cacheKey); - if (cached !== null) return cached; - - const allHackathons = await fetchAll(); - - ctx.cache.set(cacheKey, allHackathons, 60); - - return allHackathons; - }), - - - getById: publicProcedure - .input(z.object({ id: z.string() })) - .query(async ({ ctx, input }) => { - // Check cache first - const cacheKey = CacheKeys.hackathon(input.id); - type DB = DrizzleDB; - type HackathonItem = Awaited>; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const isUuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(input.id); - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: isUuid ? eq(hackathons.id, input.id) : eq(hackathons.name, input.id), - }); - - if (!hackathon) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - ctx.cache.set(cacheKey, hackathon, 120); - - return hackathon; - }), - - create: isAdmin - .input( - z.object({ - name: z.string().min(1).max(200), - description: z.string().max(5000).optional(), - location: z.string().max(500).optional(), - startDate: z.date(), - endDate: z.date(), - registrationDeadline: z.date().optional(), - hackingStartTime: z.date().optional(), - maxParticipants: z.number().int().positive().max(10000).optional(), - prizes: z.array( - z.object({ - place: z.string().max(50), - amount: z.number().nonnegative(), - description: z.string().max(500).optional(), - }) - ).max(20).optional(), - rules: z.string().max(10000).optional(), - theme: z.string().max(200).optional(), - tracks: z.array(z.string().max(100)).max(50).optional(), - challenges: z.array(z.string().max(100)).max(50).optional(), - websiteUrl: z.string().url().max(500).optional(), - }).refine(data => data.endDate > data.startDate, { - message: "End date must be after start date", - }).refine(data => !data.registrationDeadline || data.registrationDeadline <= data.startDate, { - message: "Registration deadline must be before start date", - }).refine(data => !data.hackingStartTime || data.hackingStartTime >= data.startDate, { - message: "Hacking start time must be after or equal to hackathon start date", - }) - ) - .mutation(async ({ ctx, input }) => { - const [newHackathon] = await (ctx.db as DrizzleDB) - .insert(hackathons) - .values({ - ...input, - status: "draft", - }) - .returning(); - - ctx.cache.deletePattern('hackathons:*'); - - return newHackathon; - }), - - update: isAdmin - .input( - z.object({ - id: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1).max(200).optional(), - description: z.string().max(5000).optional(), - location: z.string().max(500).optional(), - startDate: z.date().optional(), - endDate: z.date().optional(), - registrationDeadline: z.date().optional(), - hackingStartTime: z.date().nullable().optional(), - maxParticipants: z.number().int().positive().max(10000).optional(), - status: z.enum(["draft", "open", "closed", "in_progress", "completed", "cancelled"]).optional(), - prizes: z.array( - z.object({ - place: z.string().max(50), - amount: z.number().nonnegative(), - description: z.string().max(500).optional(), - }) - ).max(20).optional(), - rules: z.string().max(10000).optional(), - theme: z.string().max(200).optional(), - tracks: z.array(z.string().max(100)).max(50).optional(), - challenges: z.array(z.string().max(100)).max(50).optional(), - websiteUrl: z.string().url().max(500).optional(), - isPublic: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const { id, ...updateData } = input; - - const existing = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, id), - }); - - if (!existing) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - const [updatedHackathon] = await (ctx.db as DrizzleDB) - .update(hackathons) - .set({ - ...updateData, - updatedAt: new Date(), - }) - .where(eq(hackathons.id, id)) - .returning(); - - ctx.cache.delete(CacheKeys.hackathon(id)); - ctx.cache.deletePattern('hackathons:*'); - - return updatedHackathon; - }), - - delete: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - const { hackathonId } = input; - await (ctx.db as DrizzleDB).delete(hackathons).where(eq(hackathons.id, hackathonId)); - ctx.cache.delete(CacheKeys.hackathon(hackathonId)); - ctx.cache.deletePattern('hackathons:*'); - return { success: true }; - }), - - register: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - // Personal info - firstName: z.string().min(1).max(100), - lastName: z.string().min(1).max(100), - phone: z.string().min(1).max(30), - age: z.number().int().min(13).max(120), - gender: z.string().max(50).optional(), - pronouns: z.string().max(50).optional(), - race: z.string().max(100).optional(), - underrepresented: z.boolean().optional(), - // Academic info - school: z.string().min(1).max(300), - major: z.string().min(1).max(300), - graduationYear: z.number().int().min(2020).max(2035), - levelOfStudy: z.enum(["Freshman", "Sophomore", "Junior", "Senior", "Graduate", "PhD", "Other"]), - country: z.string().min(1).max(100), - firstGeneration: z.boolean().optional(), - // Experience - hackathonsAttended: z.number().int().min(0).max(100).optional(), - resumeUrl: z.string().url().max(500).optional().or(z.literal("")), - linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), - githubUrl: z.string().url().max(500).optional().or(z.literal("")), - whyAttend: z.string().max(2000).optional(), - // Logistics - shirtSize: z.enum(["XS", "S", "M", "L", "XL", "XXL"]).optional(), - dietaryRestrictions: z.array(z.string().max(100)).max(10).optional(), - emergencyContact: z.string().max(200).optional(), - emergencyPhone: z.string().max(20).optional(), - needsHardware: z.boolean().optional(), - // Consent - agreeToCodeOfConduct: z.boolean().refine(v => v === true, { message: "You must agree to the Code of Conduct" }), - mlhCodeOfConduct: z.boolean().optional(), - mlhDataSharing: z.boolean().optional(), - mlhInformationalEmails: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - try { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const hackathon = await tx.query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - - if (!hackathon) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Hackathon not found", - }); - } - - if (hackathon.status !== "open") { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Registration is not open for this hackathon", - }); - } - - if (hackathon.registrationDeadline && new Date() > hackathon.registrationDeadline) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Registration deadline has passed", - }); - } - - const existingParticipant = await tx.query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - - if (existingParticipant) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "You are already registered for this hackathon", - }); - } - - if (hackathon.maxParticipants && hackathon.currentParticipants >= hackathon.maxParticipants) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "This hackathon is full", - }); - } - - const member = await tx.query.members.findFirst({ - where: eq(members.userId, ctx.userId as string), - }); - - const [participant] = await tx - .insert(hackathonParticipants) - .values({ - hackathonId: input.hackathonId, - userId: ctx.userId as string, - memberId: member?.id, - // Personal - firstName: input.firstName, - lastName: input.lastName, - phone: input.phone, - age: input.age, - gender: input.gender, - pronouns: input.pronouns, - race: input.race, - underrepresented: input.underrepresented, - // Academic - school: input.school, - major: input.major, - graduationYear: input.graduationYear, - levelOfStudy: input.levelOfStudy, - country: input.country, - firstGeneration: input.firstGeneration, - // Experience - hackathonsAttended: input.hackathonsAttended, - resumeUrl: input.resumeUrl || undefined, - linkedinUrl: input.linkedinUrl || undefined, - githubUrl: input.githubUrl || undefined, - whyAttend: input.whyAttend, - // Logistics - shirtSize: input.shirtSize, - dietaryRestrictions: input.dietaryRestrictions || [], - emergencyContact: input.emergencyContact, - emergencyPhone: input.emergencyPhone, - needsHardware: input.needsHardware, - // Consent - agreeToCodeOfConduct: input.agreeToCodeOfConduct, - mlhCodeOfConduct: input.mlhCodeOfConduct, - mlhDataSharing: input.mlhDataSharing, - mlhInformationalEmails: input.mlhInformationalEmails, - registrationStatus: "pending", - }) - .returning(); - - await tx - .update(hackathons) - .set({ - currentParticipants: sql`${hackathons.currentParticipants} + 1`, - }) - .where(eq(hackathons.id, input.hackathonId)); - - // Invalidate all hackathon caches after successful registration - ctx.cache.deletePattern('hackathon*'); - - return participant; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - // Unexpected error during registration - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Registration failed: ${message}`, - }); - } - }), - - myRegistrations: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `hackathon:registrations:${ctx.userId}`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const registrations = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.userId, ctx.userId as string), - with: { - hackathon: true, - team: { - with: { - projects: true, - }, - }, - }, - orderBy: (hackathonParticipants, { desc }) => [desc(hackathonParticipants.registeredAt)], - }); - - ctx.cache.set(cacheKey, registrations, 30); - return registrations; - }), - - participants: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:participants`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const participants = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - columns: { - id: true, - hackathonId: true, - userId: true, - teamId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { - id: true, - name: true, - image: true, - }, - }, - team: true, - }, - }); - - ctx.cache.set(cacheKey, participants, 60); - - return participants; - }), - - getTeams: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const teams = await (ctx.db as DrizzleDB).query.hackathonTeams.findMany({ - where: eq(hackathonTeams.hackathonId, input.hackathonId), - with: { - captain: { - columns: { id: true, name: true, image: true }, - }, - participants: { - columns: { - id: true, - userId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { id: true, name: true, image: true }, - }, - }, - }, - }, - orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], - }); - - return teams; - }), - - projects: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:projects`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const projects = await (ctx.db as DrizzleDB).query.hackathonProjects.findMany({ - where: eq(hackathonProjects.hackathonId, input.hackathonId), - with: { - team: { - with: { - participants: { - columns: { - id: true, - hackathonId: true, - userId: true, - teamId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { - id: true, - name: true, - image: true, - }, - }, - }, - }, - }, - }, - }, - orderBy: (hackathonProjects, { desc }) => [desc(hackathonProjects.submittedAt)], - }); - - ctx.cache.set(cacheKey, projects, 120); - - return projects; - }), - - - - - - - - adminGetAttendees: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - })) - .query(async ({ ctx, input }) => { - const attendees = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, - } - }, - team: { - columns: { - id: true, - name: true, - } - } - }, - orderBy: (participants, { desc }) => [desc(participants.registeredAt)], - }); - - return attendees; - }), - - updateParticipantStatus: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - participantId: z.string().uuid("Invalid participant ID"), - status: z.enum(["pending", "approved", "rejected", "waitlisted", "checked_in"]), - })) - .mutation(async ({ ctx, input }) => { - const participant = await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.id, input.participantId), - eq(hackathonParticipants.hackathonId, input.hackathonId) - ), - }); - - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "Participant not found" }); - } - - await (ctx.db as DrizzleDB) - .update(hackathonParticipants) - .set({ registrationStatus: input.status }) - .where(eq(hackathonParticipants.id, input.participantId)); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true }; - }), - - batchUpdateParticipantStatus: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - participantIds: z.array(z.string().uuid()).min(1).max(500), - status: z.enum(["pending", "approved", "rejected", "waitlisted", "checked_in"]), - })) - .mutation(async ({ ctx, input }) => { - const { hackathonId, participantIds, status } = input; - - await (ctx.db as DrizzleDB).transaction(async (tx) => { - for (const participantId of participantIds) { - await tx - .update(hackathonParticipants) - .set({ registrationStatus: status, updatedAt: new Date() }) - .where( - and( - eq(hackathonParticipants.id, participantId), - eq(hackathonParticipants.hackathonId, hackathonId) - ) - ); - } - }); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true, updated: participantIds.length }; - }), - - analytics: isAdmin - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const participants = await (ctx.db as DrizzleDB).query.hackathonParticipants.findMany({ - where: eq(hackathonParticipants.hackathonId, input.hackathonId), - }); - - const stats = { - totalRegistrations: participants.length, - statusBreakdown: { - approved: 0, - pending: 0, - rejected: 0, - waitlisted: 0, - checked_in: 0, - }, - shirtSizes: {} as Record, - dietaryRestrictions: {} as Record, - }; - - participants.forEach((p) => { - // Status breakdown - if (p.registrationStatus in stats.statusBreakdown) { - stats.statusBreakdown[p.registrationStatus as keyof typeof stats.statusBreakdown]++; - } - - // Shirt sizes - if (p.shirtSize) { - stats.shirtSizes[p.shirtSize] = (stats.shirtSizes[p.shirtSize] || 0) + 1; - } - - // Dietary restrictions - if (p.dietaryRestrictions && p.dietaryRestrictions.length > 0) { - p.dietaryRestrictions.forEach((restriction) => { - const normalized = restriction.trim(); - if (normalized) { - stats.dietaryRestrictions[normalized] = (stats.dietaryRestrictions[normalized] || 0) + 1; - } - }); - } - }); - - return stats; - }), - - scanParticipantPass: isAdmin - .input(z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - eventId: z.string().uuid("Invalid event ID"), - participantId: z.string().uuid("Invalid participant ID"), - })) - .mutation(async ({ ctx, input }) => { - // 1. Verify participant exists and belongs to this hackathon - const participant = await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.id, input.participantId), - eq(hackathonParticipants.hackathonId, input.hackathonId) - ), - with: { user: true } - }); - - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "Participant not found or not registered for this hackathon." }); - } - - // 2. Verify event exists and belongs to this hackathon - const event = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: and( - eq(hackathonEvents.id, input.eventId), - eq(hackathonEvents.hackathonId, input.hackathonId) - ) - }); - - if (!event) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found." }); - } - - // 3. Check for existing check-in to prevent duplicates - const existingScan = await (ctx.db as DrizzleDB).query.hackathonEventAttendees.findFirst({ - where: and( - eq(hackathonEventAttendees.eventId, input.eventId), - eq(hackathonEventAttendees.participantId, input.participantId) - ) - }); - - if (existingScan) { - throw new TRPCError({ code: "CONFLICT", message: `${participant.user.name || participant.user.email} is already checked into ${event.name}.` }); - } - - // 4. Record attendance - await (ctx.db as DrizzleDB).insert(hackathonEventAttendees).values({ - eventId: input.eventId, - participantId: input.participantId, - }); - - // Invalidate hackathon caches after attendance scan - ctx.cache.deletePattern('hackathon*'); - - return { success: true, message: `Successfully checked in ${participant.user.name || participant.user.email}!` }; - }), - - createEvent: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1).max(200), - description: z.string().max(2000).optional(), - type: z.enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]), - location: z.string().min(1).max(500), - startTime: z.date(), - endTime: z.date(), - points: z.number().int().min(0).max(1000).default(0), - }).refine(data => data.endTime > data.startTime, { - message: "End time must be after start time", - }) - ) - .mutation(async ({ ctx, input }) => { - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); - } - - const [newEvent] = await (ctx.db as DrizzleDB) - .insert(hackathonEvents) - .values({ - hackathonId: input.hackathonId, - name: input.name, - description: input.description, - type: input.type, - location: input.location, - startTime: input.startTime, - endTime: input.endTime, - points: input.points, - }) - .returning(); - - ctx.cache.deletePattern('hackathon*'); - - return newEvent; - }), - - updateEvent: isAdmin - .input( - z.object({ - eventId: z.string().uuid("Invalid event ID"), - name: z.string().min(1).max(200).optional(), - description: z.string().max(2000).optional(), - type: z.enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]).optional(), - location: z.string().min(1).max(500).optional(), - startTime: z.date().optional(), - endTime: z.date().optional(), - points: z.number().int().min(0).max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const { eventId, ...updateData } = input; - - const existing = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: eq(hackathonEvents.id, eventId), - }); - - if (!existing) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); - } - - const [updatedEvent] = await (ctx.db as DrizzleDB) - .update(hackathonEvents) - .set({ - ...updateData, - updatedAt: new Date(), - }) - .where(eq(hackathonEvents.id, eventId)) - .returning(); - - ctx.cache.deletePattern('hackathon*'); - - return updatedEvent; - }), - - deleteEvent: isAdmin - .input(z.object({ - eventId: z.string().uuid("Invalid event ID"), - })) - .mutation(async ({ ctx, input }) => { - const existing = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst({ - where: eq(hackathonEvents.id, input.eventId), - }); - - if (!existing) { - throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); - } - - await (ctx.db as DrizzleDB) - .delete(hackathonEvents) - .where(eq(hackathonEvents.id, input.eventId)); - - ctx.cache.deletePattern('hackathon*'); - - return { success: true }; - }), - - getEvents: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:events`; - - const fetchEvents = async () => { - const eventsData = await (ctx.db as DrizzleDB).query.hackathonEvents.findMany({ - where: eq(hackathonEvents.hackathonId, input.hackathonId), - orderBy: (events, { asc }) => [asc(events.startTime)], - with: { - attendees: { - columns: { id: true } - } - } - }); - - return eventsData.map(e => ({ - ...e, - attendeeCount: e.attendees.length - })); - }; - - const cached = ctx.cache.get>>(cacheKey); - if (cached !== null) return cached; - - const events = await fetchEvents(); - - ctx.cache.set(cacheKey, events, 60); - - return events; - }), - - myParticipantRecord: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - with: { - team: true, - } - }); - }), - - getPublicProjects: publicProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.hackathonProjects.findMany({ - where: and( - eq(hackathonProjects.hackathonId, input.hackathonId), - // We only show projects that are submitted, judging, or winner. Drafts stay hidden. - inArray(hackathonProjects.status, ["submitted", "judging", "winner"]) - ), - with: { - team: { - columns: { - id: true, - name: true, - } - }, - }, - orderBy: (projects, { desc }) => [desc(projects.submittedAt)], - }); - return projects; - }), -}); \ No newline at end of file diff --git a/packages/api/src/routers/hackathon/admin.ts b/packages/api/src/routers/hackathon/admin.ts new file mode 100644 index 00000000..0ca43bee --- /dev/null +++ b/packages/api/src/routers/hackathon/admin.ts @@ -0,0 +1,315 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter } from "../../trpc"; +import { isAdmin } from "../../middleware/procedures"; +import { + hackathons, + hackathonParticipants, + hackathonEvents, + hackathonEventAttendees, +} from "@query/db"; +import { eq, and, inArray } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonAdminRouter = createTRPCRouter({ + adminGetAttendees: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + }), + ) + .query(async ({ ctx, input }) => { + const attendees = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, + }, + team: { + columns: { + id: true, + name: true, + }, + }, + }, + orderBy: (participants, { desc }) => [desc(participants.registeredAt)], + }); + + return attendees; + }), + + + updateParticipantStatus: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantId: z.string().uuid("Invalid participant ID"), + status: z.enum([ + "pending", + "approved", + "rejected", + "waitlisted", + "checked_in", + ]), + }), + ) + .mutation(async ({ ctx, input }) => { + const participant = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.id, input.participantId), + eq(hackathonParticipants.hackathonId, input.hackathonId), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Participant not found", + }); + } + + await (ctx.db as DrizzleDB) + .update(hackathonParticipants) + .set({ registrationStatus: input.status }) + .where(eq(hackathonParticipants.id, input.participantId)); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true }; + }), + + + sendMassAcceptanceEmails: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantIds: z.array(z.string().uuid()).min(1), + }), + ) + .mutation(async ({ ctx, input }) => { + const { hackathonId, participantIds } = input; + const db = ctx.db as DrizzleDB; + + const hackathon = await db.query.hackathons.findFirst({ + where: eq(hackathons.id, hackathonId), + columns: { name: true } + }); + + if (!hackathon) { + throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); + } + + const participants = await db.query.hackathonParticipants.findMany({ + where: inArray(hackathonParticipants.id, participantIds), + with: { user: { columns: { email: true } } } + }); + + await db.transaction(async (tx) => { + for (const participantId of participantIds) { + await tx + .update(hackathonParticipants) + .set({ registrationStatus: "approved", updatedAt: new Date() }) + .where( + and( + eq(hackathonParticipants.id, participantId), + eq(hackathonParticipants.hackathonId, hackathonId), + ), + ); + } + }); + + for (const participant of participants) { + if (participant.user?.email) { + try { + const { sendAcceptanceEmail } = await import("@query/auth/email"); + await sendAcceptanceEmail({ + email: participant.user.email, + hackathonName: hackathon.name, + host: process.env.NEXTAUTH_URL || "https://datasciencegt.org" + }); + console.log(`[Email Service] Sent acceptance email to ${participant.user.email} for hackathon ${hackathon.name}.`); + } catch (error) { + console.error(`[Email Service] Failed to send acceptance email to ${participant.user.email}:`, error); + } + } + } + + ctx.cache.deletePattern("hackathon*"); + + return { success: true, count: participantIds.length, message: `Successfully approved and sent acceptance emails to ${participantIds.length} participants.` }; + }), + + + batchUpdateParticipantStatus: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + participantIds: z.array(z.string().uuid()).min(1).max(500), + status: z.enum([ + "pending", + "approved", + "rejected", + "waitlisted", + "checked_in", + ]), + }), + ) + .mutation(async ({ ctx, input }) => { + const { hackathonId, participantIds, status } = input; + + await (ctx.db as DrizzleDB).transaction(async (tx) => { + for (const participantId of participantIds) { + await tx + .update(hackathonParticipants) + .set({ registrationStatus: status, updatedAt: new Date() }) + .where( + and( + eq(hackathonParticipants.id, participantId), + eq(hackathonParticipants.hackathonId, hackathonId), + ), + ); + } + }); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true, updated: participantIds.length }; + }), + + + analytics: isAdmin + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const participants = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + }); + + const stats = { + totalRegistrations: participants.length, + statusBreakdown: { + approved: 0, + pending: 0, + rejected: 0, + waitlisted: 0, + checked_in: 0, + }, + shirtSizes: {} as Record, + dietaryRestrictions: {} as Record, + }; + + participants.forEach((p) => { + // Status breakdown + if (p.registrationStatus in stats.statusBreakdown) { + stats.statusBreakdown[ + p.registrationStatus as keyof typeof stats.statusBreakdown + ]++; + } + + // Shirt sizes + if (p.shirtSize) { + stats.shirtSizes[p.shirtSize] = + (stats.shirtSizes[p.shirtSize] || 0) + 1; + } + + // Dietary restrictions + if (p.dietaryRestrictions && p.dietaryRestrictions.length > 0) { + p.dietaryRestrictions.forEach((restriction) => { + const normalized = restriction.trim(); + if (normalized) { + stats.dietaryRestrictions[normalized] = + (stats.dietaryRestrictions[normalized] || 0) + 1; + } + }); + } + }); + + return stats; + }), + + + scanParticipantPass: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + eventId: z.string().uuid("Invalid event ID"), + participantId: z.string().uuid("Invalid participant ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + // 1. Verify participant exists and belongs to this hackathon + const participant = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.id, input.participantId), + eq(hackathonParticipants.hackathonId, input.hackathonId), + ), + with: { user: true }, + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: + "Participant not found or not registered for this hackathon.", + }); + } + + // 2. Verify event exists and belongs to this hackathon + const event = await (ctx.db as DrizzleDB).query.hackathonEvents.findFirst( + { + where: and( + eq(hackathonEvents.id, input.eventId), + eq(hackathonEvents.hackathonId, input.hackathonId), + ), + }, + ); + + if (!event) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found." }); + } + + // 3. Check for existing check-in to prevent duplicates + const existingScan = await ( + ctx.db as DrizzleDB + ).query.hackathonEventAttendees.findFirst({ + where: and( + eq(hackathonEventAttendees.eventId, input.eventId), + eq(hackathonEventAttendees.participantId, input.participantId), + ), + }); + + if (existingScan) { + throw new TRPCError({ + code: "CONFLICT", + message: `${participant.user.name || participant.user.email} is already checked into ${event.name}.`, + }); + } + + // 4. Record attendance + await (ctx.db as DrizzleDB).insert(hackathonEventAttendees).values({ + eventId: input.eventId, + participantId: input.participantId, + }); + + // Invalidate hackathon caches after attendance scan + ctx.cache.deletePattern("hackathon*"); + + return { + success: true, + message: `Successfully checked in ${participant.user.name || participant.user.email}!`, + }; + }), + +}); diff --git a/packages/api/src/routers/hackathon/content.ts b/packages/api/src/routers/hackathon/content.ts new file mode 100644 index 00000000..70a67f02 --- /dev/null +++ b/packages/api/src/routers/hackathon/content.ts @@ -0,0 +1,125 @@ +import { z } from "zod"; +import { createTRPCRouter, protectedProcedure, publicProcedure } from "../../trpc"; +import { + hackathonParticipants, + hackathonProjects, + hackathonTeams, +} from "@query/db"; +import { eq, and, inArray } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonContentRouter = createTRPCRouter({ + getTeams: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const teams = await (ctx.db as DrizzleDB).query.hackathonTeams.findMany({ + where: eq(hackathonTeams.hackathonId, input.hackathonId), + with: { + captain: { + columns: { id: true, name: true, image: true }, + }, + participants: { + columns: { + id: true, + userId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { id: true, name: true, image: true }, + }, + }, + }, + }, + orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], + }); + + return teams; + }), + + + projects: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:projects`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const projects = await ( + ctx.db as DrizzleDB + ).query.hackathonProjects.findMany({ + where: eq(hackathonProjects.hackathonId, input.hackathonId), + with: { + team: { + with: { + participants: { + columns: { + id: true, + hackathonId: true, + userId: true, + teamId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { + id: true, + name: true, + image: true, + }, + }, + }, + }, + }, + }, + }, + orderBy: (hackathonProjects, { desc }) => [ + desc(hackathonProjects.submittedAt), + ], + }); + + ctx.cache.set(cacheKey, projects, 120); + + return projects; + }), + + + myParticipantRecord: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + with: { + team: true, + }, + }); + }), + + + getPublicProjects: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.hackathonProjects.findMany({ + where: and( + eq(hackathonProjects.hackathonId, input.hackathonId), + // We only show projects that are submitted, judging, or winner. Drafts stay hidden. + inArray(hackathonProjects.status, ["submitted", "judging", "winner"]), + ), + with: { + team: { + columns: { + id: true, + name: true, + }, + }, + }, + orderBy: (projects, { desc }) => [desc(projects.submittedAt)], + }); + return projects; + }), +}); diff --git a/packages/api/src/routers/hackathon/crud.ts b/packages/api/src/routers/hackathon/crud.ts new file mode 100644 index 00000000..356d7952 --- /dev/null +++ b/packages/api/src/routers/hackathon/crud.ts @@ -0,0 +1,296 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; +import { + hackathons, +} from "@query/db"; +import { eq, and, gte } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import { CacheKeys } from "../../middleware/cache"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonCrudRouter = createTRPCRouter({ + list: publicProcedure + .input( + z.object({ + status: z + .enum([ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ]) + .optional(), + upcoming: z.boolean().optional(), + limit: z.number().min(1).max(100).default(20), + offset: z.number().min(0).default(0), + }), + ) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathons:list:${input.status || "all"}:${input.upcoming ? "upcoming" : "all"}:${input.limit}:${input.offset}`; + + type DB = DrizzleDB; + type HackathonList = Awaited< + ReturnType + >; + // Check cache first + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const now = new Date(); + + const allHackathons = await ( + ctx.db as DrizzleDB + ).query.hackathons.findMany({ + where: and( + eq(hackathons.isPublic, true), + input.status ? eq(hackathons.status, input.status) : undefined, + input.upcoming ? gte(hackathons.startDate, now) : undefined, + ), + limit: input.limit, + offset: input.offset, + orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], + }); + + ctx.cache.set(cacheKey, allHackathons, 60); + + return allHackathons; + }), + + + listAll: isAdmin.query(async ({ ctx }) => { + const cacheKey = "hackathons:list:all"; + + const fetchAll = async () => { + return await (ctx.db as DrizzleDB).query.hackathons.findMany({ + orderBy: (hackathons, { desc }) => [desc(hackathons.startDate)], + }); + }; + + const cached = + ctx.cache.get>>(cacheKey); + if (cached !== null) return cached; + + const allHackathons = await fetchAll(); + + ctx.cache.set(cacheKey, allHackathons, 60); + + return allHackathons; + }), + + + getById: publicProcedure + .input(z.object({ id: z.string() })) + .query(async ({ ctx, input }) => { + // Check cache first + const cacheKey = CacheKeys.hackathon(input.id); + type DB = DrizzleDB; + type HackathonItem = Awaited< + ReturnType + >; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const isUuid = + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test( + input.id, + ); + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: isUuid + ? eq(hackathons.id, input.id) + : eq(hackathons.name, input.id), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + ctx.cache.set(cacheKey, hackathon, 120); + + return hackathon; + }), + + + create: isAdmin + .input( + z + .object({ + name: z.string().min(1).max(200), + description: z.string().max(5000).optional(), + location: z.string().max(500).optional(), + startDate: z.date(), + endDate: z.date(), + registrationDeadline: z.date().optional(), + hackingStartTime: z.date().optional(), + maxParticipants: z.number().int().positive().max(10000).optional(), + prizes: z + .array( + z.object({ + place: z.string().max(50), + amount: z.number().nonnegative(), + description: z.string().max(500).optional(), + }), + ) + .max(20) + .optional(), + rules: z.string().max(10000).optional(), + theme: z.string().max(200).optional(), + tracks: z.array(z.string().max(100)).max(50).optional(), + challenges: z.array(z.string().max(100)).max(50).optional(), + websiteUrl: z.string().url().max(500).optional(), + }) + .refine((data) => data.endDate > data.startDate, { + message: "End date must be after start date", + }) + .refine( + (data) => + !data.registrationDeadline || + data.registrationDeadline <= data.startDate, + { + message: "Registration deadline must be before or equal to the event start date", + }, + ) + .refine( + (data) => + !data.hackingStartTime || + (data.hackingStartTime >= data.startDate && + data.hackingStartTime <= data.endDate), + { + message: + "Hacking start time must be within the event window (between start date and end date)", + }, + ), + ) + .mutation(async ({ ctx, input }) => { + const [newHackathon] = await (ctx.db as DrizzleDB) + .insert(hackathons) + .values({ + ...input, + status: "draft", + }) + .returning(); + + ctx.cache.deletePattern("hackathons:*"); + + return newHackathon; + }), + + + update: isAdmin + .input( + z.object({ + id: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1).max(200).optional(), + description: z.string().max(5000).optional(), + location: z.string().max(500).optional(), + startDate: z.date().optional(), + endDate: z.date().optional(), + registrationDeadline: z.date().optional(), + hackingStartTime: z.date().nullable().optional(), + maxParticipants: z.number().int().positive().max(10000).optional(), + status: z + .enum([ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ]) + .optional(), + prizes: z + .array( + z.object({ + place: z.string().max(50), + amount: z.number().nonnegative(), + description: z.string().max(500).optional(), + }), + ) + .max(20) + .optional(), + rules: z.string().max(10000).optional(), + theme: z.string().max(200).optional(), + tracks: z.array(z.string().max(100)).max(50).optional(), + challenges: z.array(z.string().max(100)).max(50).optional(), + websiteUrl: z.string().url().max(500).optional(), + isPublic: z.boolean().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const { id, ...updateData } = input; + + const existing = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, id), + }); + + if (!existing) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + // Merge with existing dates for partial-update validation + const resolvedStart = updateData.startDate ?? existing.startDate; + const resolvedEnd = updateData.endDate ?? existing.endDate; + + if (resolvedEnd <= resolvedStart) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "End date must be after start date", + }); + } + + // hackingStartTime: null clears it; undefined leaves it unchanged + const resolvedHackingStart = + updateData.hackingStartTime === null + ? null + : (updateData.hackingStartTime ?? existing.hackingStartTime); + + if ( + resolvedHackingStart !== null && + resolvedHackingStart !== undefined && + (resolvedHackingStart < resolvedStart || + resolvedHackingStart > resolvedEnd) + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Hacking start time must be within the event window (between start date and end date)", + }); + } + + const [updatedHackathon] = await (ctx.db as DrizzleDB) + .update(hackathons) + .set({ + ...updateData, + updatedAt: new Date(), + }) + .where(eq(hackathons.id, id)) + .returning(); + + ctx.cache.delete(CacheKeys.hackathon(id)); + ctx.cache.deletePattern("hackathons:*"); + + return updatedHackathon; + }), + + + delete: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + const { hackathonId } = input; + await (ctx.db as DrizzleDB) + .delete(hackathons) + .where(eq(hackathons.id, hackathonId)); + ctx.cache.delete(CacheKeys.hackathon(hackathonId)); + ctx.cache.deletePattern("hackathons:*"); + return { success: true }; + }), + +}); diff --git a/packages/api/src/routers/hackathon/events.ts b/packages/api/src/routers/hackathon/events.ts new file mode 100644 index 00000000..c97b0e4d --- /dev/null +++ b/packages/api/src/routers/hackathon/events.ts @@ -0,0 +1,173 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, publicProcedure } from "../../trpc"; +import { + hackathons, + hackathonEvents, +} from "@query/db"; +import { eq } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonEventsRouter = createTRPCRouter({ + createEvent: isAdmin + .input( + z + .object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1).max(200), + description: z.string().max(2000).optional(), + type: z.enum([ + "workshop", + "meal", + "ceremony", + "activity", + "sponsor_session", + ]), + location: z.string().min(1).max(500), + startTime: z.date(), + endTime: z.date(), + points: z.number().int().min(0).max(1000).default(0), + }) + .refine((data) => data.endTime > data.startTime, { + message: "End time must be after start time", + }), + ) + .mutation(async ({ ctx, input }) => { + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + const [newEvent] = await (ctx.db as DrizzleDB) + .insert(hackathonEvents) + .values({ + hackathonId: input.hackathonId, + name: input.name, + description: input.description, + type: input.type, + location: input.location, + startTime: input.startTime, + endTime: input.endTime, + points: input.points, + }) + .returning(); + + ctx.cache.deletePattern("hackathon*"); + + return newEvent; + }), + + + updateEvent: isAdmin + .input( + z.object({ + eventId: z.string().uuid("Invalid event ID"), + name: z.string().min(1).max(200).optional(), + description: z.string().max(2000).optional(), + type: z + .enum(["workshop", "meal", "ceremony", "activity", "sponsor_session"]) + .optional(), + location: z.string().min(1).max(500).optional(), + startTime: z.date().optional(), + endTime: z.date().optional(), + points: z.number().int().min(0).max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const { eventId, ...updateData } = input; + + const existing = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findFirst({ + where: eq(hackathonEvents.id, eventId), + }); + + if (!existing) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); + } + + const [updatedEvent] = await (ctx.db as DrizzleDB) + .update(hackathonEvents) + .set({ + ...updateData, + updatedAt: new Date(), + }) + .where(eq(hackathonEvents.id, eventId)) + .returning(); + + ctx.cache.deletePattern("hackathon*"); + + return updatedEvent; + }), + + + deleteEvent: isAdmin + .input( + z.object({ + eventId: z.string().uuid("Invalid event ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + const existing = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findFirst({ + where: eq(hackathonEvents.id, input.eventId), + }); + + if (!existing) { + throw new TRPCError({ code: "NOT_FOUND", message: "Event not found" }); + } + + await (ctx.db as DrizzleDB) + .delete(hackathonEvents) + .where(eq(hackathonEvents.id, input.eventId)); + + ctx.cache.deletePattern("hackathon*"); + + return { success: true }; + }), + + + getEvents: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:events`; + + const fetchEvents = async () => { + const eventsData = await ( + ctx.db as DrizzleDB + ).query.hackathonEvents.findMany({ + where: eq(hackathonEvents.hackathonId, input.hackathonId), + orderBy: (events, { asc }) => [asc(events.startTime)], + with: { + attendees: { + columns: { id: true }, + }, + }, + }); + + return eventsData.map((e) => ({ + ...e, + attendeeCount: e.attendees.length, + })); + }; + + const cached = + ctx.cache.get>>(cacheKey); + if (cached !== null) return cached; + + const events = await fetchEvents(); + + ctx.cache.set(cacheKey, events, 60); + + return events; + }), + +}); diff --git a/packages/api/src/routers/hackathon/index.ts b/packages/api/src/routers/hackathon/index.ts new file mode 100644 index 00000000..950d4e3e --- /dev/null +++ b/packages/api/src/routers/hackathon/index.ts @@ -0,0 +1,14 @@ +import { mergeRouters } from "../../trpc"; +import { hackathonCrudRouter } from "./crud"; +import { hackathonRegistrationRouter } from "./registration"; +import { hackathonAdminRouter } from "./admin"; +import { hackathonEventsRouter } from "./events"; +import { hackathonContentRouter } from "./content"; + +export const hackathonRouter = mergeRouters( + hackathonCrudRouter, + hackathonRegistrationRouter, + hackathonAdminRouter, + hackathonEventsRouter, + hackathonContentRouter, +); diff --git a/packages/api/src/routers/hackathon/registration.ts b/packages/api/src/routers/hackathon/registration.ts new file mode 100644 index 00000000..b2eaf917 --- /dev/null +++ b/packages/api/src/routers/hackathon/registration.ts @@ -0,0 +1,257 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure, publicProcedure } from "../../trpc"; +import { + hackathons, + hackathonParticipants, + members, +} from "@query/db"; +import { eq, and, sql } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; + +export const hackathonRegistrationRouter = createTRPCRouter({ + register: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + // Personal info + firstName: z.string().min(1).max(100), + lastName: z.string().min(1).max(100), + phone: z.string().min(1).max(30), + age: z.number().int().min(13).max(120), + gender: z.string().max(50).optional(), + pronouns: z.string().max(50).optional(), + race: z.string().max(100).optional(), + underrepresented: z.boolean().optional(), + // Academic info + school: z.string().min(1).max(300), + major: z.string().min(1).max(300), + graduationYear: z.number().int().min(2020).max(2035), + levelOfStudy: z.enum([ + "Freshman", + "Sophomore", + "Junior", + "Senior", + "Graduate", + "PhD", + "Other", + ]), + country: z.string().min(1).max(100), + firstGeneration: z.boolean().optional(), + // Experience + hackathonsAttended: z.number().int().min(0).max(100).optional(), + resumeUrl: z.string().url().max(500).optional().or(z.literal("")), + linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), + githubUrl: z.string().url().max(500).optional().or(z.literal("")), + whyAttend: z.string().max(2000).optional(), + // Logistics + shirtSize: z.enum(["XS", "S", "M", "L", "XL", "XXL"]).optional(), + dietaryRestrictions: z.array(z.string().max(100)).max(10).optional(), + emergencyContact: z.string().max(200).optional(), + emergencyPhone: z.string().max(20).optional(), + needsHardware: z.boolean().optional(), + // Consent + agreeToCodeOfConduct: z + .boolean() + .refine((v) => v === true, { + message: "You must agree to the Code of Conduct", + }), + mlhCodeOfConduct: z.boolean().optional(), + mlhDataSharing: z.boolean().optional(), + mlhInformationalEmails: z.boolean().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + try { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const hackathon = await tx.query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + } + + if (hackathon.status !== "open") { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Registration is not open for this hackathon", + }); + } + + if ( + hackathon.registrationDeadline && + new Date() > hackathon.registrationDeadline + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Registration deadline has passed", + }); + } + + const existingParticipant = + await tx.query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (existingParticipant) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "You are already registered for this hackathon", + }); + } + + if ( + hackathon.maxParticipants && + hackathon.currentParticipants >= hackathon.maxParticipants + ) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "This hackathon is full", + }); + } + + const member = await tx.query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId as string), + eq(members.hackathonId, input.hackathonId), + ), + }); + + const [participant] = await tx + .insert(hackathonParticipants) + .values({ + hackathonId: input.hackathonId, + userId: ctx.userId as string, + memberId: member?.id, + // Personal + firstName: input.firstName, + lastName: input.lastName, + phone: input.phone, + age: input.age, + gender: input.gender, + pronouns: input.pronouns, + race: input.race, + underrepresented: input.underrepresented, + // Academic + school: input.school, + major: input.major, + graduationYear: input.graduationYear, + levelOfStudy: input.levelOfStudy, + country: input.country, + firstGeneration: input.firstGeneration, + // Experience + hackathonsAttended: input.hackathonsAttended, + resumeUrl: input.resumeUrl || undefined, + linkedinUrl: input.linkedinUrl || undefined, + githubUrl: input.githubUrl || undefined, + whyAttend: input.whyAttend, + // Logistics + shirtSize: input.shirtSize, + dietaryRestrictions: input.dietaryRestrictions || [], + emergencyContact: input.emergencyContact, + emergencyPhone: input.emergencyPhone, + needsHardware: input.needsHardware, + // Consent + agreeToCodeOfConduct: input.agreeToCodeOfConduct, + mlhCodeOfConduct: input.mlhCodeOfConduct, + mlhDataSharing: input.mlhDataSharing, + mlhInformationalEmails: input.mlhInformationalEmails, + registrationStatus: "pending", + }) + .returning(); + + await tx + .update(hackathons) + .set({ + currentParticipants: sql`${hackathons.currentParticipants} + 1`, + }) + .where(eq(hackathons.id, input.hackathonId)); + + // Invalidate all hackathon caches after successful registration + ctx.cache.deletePattern("hackathon*"); + + return participant; + }); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + // Unexpected error during registration + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Registration failed: ${message}`, + }); + } + }), + + + myRegistrations: protectedProcedure.query(async ({ ctx }) => { + const cacheKey = `hackathon:registrations:${ctx.userId}`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const registrations = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.userId, ctx.userId as string), + with: { + hackathon: true, + team: { + with: { + projects: true, + }, + }, + }, + orderBy: (hackathonParticipants, { desc }) => [ + desc(hackathonParticipants.registeredAt), + ], + }); + + ctx.cache.set(cacheKey, registrations, 30); + return registrations; + }), + + + participants: publicProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:participants`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const participants = await ( + ctx.db as DrizzleDB + ).query.hackathonParticipants.findMany({ + where: eq(hackathonParticipants.hackathonId, input.hackathonId), + columns: { + id: true, + hackathonId: true, + userId: true, + teamId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { + id: true, + name: true, + image: true, + }, + }, + team: true, + }, + }); + + ctx.cache.set(cacheKey, participants, 60); + + return participants; + }), + +}); diff --git a/packages/api/src/routers/hello-procedures.ts b/packages/api/src/routers/hello-procedures.ts index b8e1ae9b..42055723 100644 --- a/packages/api/src/routers/hello-procedures.ts +++ b/packages/api/src/routers/hello-procedures.ts @@ -2,38 +2,38 @@ import { z } from "zod"; import { publicProcedure, protectedProcedure } from "../trpc"; export const sayHello = publicProcedure.mutation(() => { - return { - message: "You should sign in", - timestamp: new Date().toISOString(), - }; + return { + message: "You should sign in", + timestamp: new Date().toISOString(), + }; }); export const greetPublic = publicProcedure - .input(z.object({ name: z.string().min(1) })) - .query(({ input }) => { - return { - message: `Hello ${input.name}! Welcome to the app.`, - }; - }); + .input(z.object({ name: z.string().min(1) })) + .query(({ input }) => { + return { + message: `Hello ${input.name}! Welcome to the app.`, + }; + }); export const sayHelloAuth = protectedProcedure.mutation(({ ctx }) => { - const user = ctx.session!.user; + const user = ctx.session!.user; - return { - message: `Hello ${user?.name ?? user?.email}!`, - user: { - id: user?.id, - email: user?.email, - name: user?.name, - }, - }; + return { + message: `Hello ${user?.name ?? user?.email}!`, + user: { + id: user?.id, + email: user?.email, + name: user?.name, + }, + }; }); export const greet = protectedProcedure - .input(z.object({ name: z.string().min(1) })) - .mutation(({ ctx, input }) => { - return { - message: `Hello ${input.name}, from ${ctx.session!.user?.email}`, - userId: ctx.userId, - }; - }); + .input(z.object({ name: z.string().min(1) })) + .mutation(({ ctx, input }) => { + return { + message: `Hello ${input.name}, from ${ctx.session!.user?.email}`, + userId: ctx.userId, + }; + }); diff --git a/packages/api/src/routers/hello.ts b/packages/api/src/routers/hello.ts index fa48e795..96228d91 100644 --- a/packages/api/src/routers/hello.ts +++ b/packages/api/src/routers/hello.ts @@ -7,5 +7,3 @@ export const helloRouter = createTRPCRouter({ sayHelloAuth, greet, }); - - diff --git a/packages/api/src/routers/judge.ts b/packages/api/src/routers/judge.ts deleted file mode 100644 index 89bc8d4b..00000000 --- a/packages/api/src/routers/judge.ts +++ /dev/null @@ -1,1633 +0,0 @@ -import { z } from "zod"; -import { TRPCError } from "@trpc/server"; -import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { - judges, - judgeAssignments, - judgeVotes, - judgingProjects, - judgeQueue, - hackathonMaps, - hackathons, - users, - hackathonParticipants, -} from "@query/db"; -import { eq, and, asc, sql } from "drizzle-orm"; -import { CacheKeys } from "../middleware/cache"; -import { isAdmin, isJudge } from "../middleware/procedures"; -import type { DrizzleDB } from "@query/db"; - -function shuffleArray(array: T[]): T[] { - const result = [...array]; - for (let i = result.length - 1; i > 0; i--) { - const j = Math.floor(Math.random() * (i + 1)); - const temp = result[i] as T; - result[i] = result[j] as T; - result[j] = temp; - } - return result; -} - -/** - * Z-score normalizes a judge's scores relative to their own mean/stddev. - * This removes per-judge harshness/leniency bias before aggregation. - * Returns null if fewer than 2 data points (can't compute meaningful stddev). - */ -function zNormalize(scores: number[], globalMean: number, globalStd: number): number[] { - if (scores.length < 2) return scores.map(() => globalMean); - const mean = scores.reduce((a, b) => a + b, 0) / scores.length; - const variance = scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; - const std = Math.sqrt(variance); - if (std === 0) return scores.map(() => globalMean); // judge gave same score to everything - return scores.map((v) => globalMean + ((v - mean) / std) * globalStd); -} - -/** - * Coverage-maximizing round-robin assignment. - * Guarantees every project is seen at least `minCoverage` times before - * any project gets an extra judge. Respects track constraints. - */ -function buildCoverageQueues( - judgeAssignmentsList: { judgeId: string; track: string | null }[], - projects: { id: string; tracks: string[] | null; challenges: string[] | null; tableNumber: number }[], - mainTracks: Set, - opts: { minProjects: number; maxProjects: number; shuffle: boolean; groupSpecial: boolean } -): Map { - const queues = new Map(); - for (const a of judgeAssignmentsList) queues.set(a.judgeId, []); - - // Coverage counter: projectId -> how many judges are assigned - const coverage = new Map(projects.map((p) => [p.id, 0])); - - // For each judge, determine their eligible project pool - const eligiblePool = new Map(); - for (const a of judgeAssignmentsList) { - const track = a.track; - const isSpecial = track ? !mainTracks.has(track) : false; - const pool = track - ? projects.filter((p) => { - const inTracks = p.tracks?.includes(track) ?? false; - const inChallenges = p.challenges?.includes(track) ?? false; - const matchCreateX = track.toLowerCase() === "createx" && !!(p as { isCreateX?: boolean }).isCreateX; - return inTracks || inChallenges || matchCreateX; - }) - : projects; - - if (isSpecial) { - // Special judges always get their full pool - const ordered = opts.groupSpecial ? pool : shuffleArray(pool); - queues.set(a.judgeId, ordered.map((p) => p.id)); - for (const p of ordered) coverage.set(p.id, (coverage.get(p.id) ?? 0) + 1); - eligiblePool.set(a.judgeId, []); - } else { - eligiblePool.set(a.judgeId, opts.shuffle ? shuffleArray(pool) : pool); - } - } - - // Round-robin fill: prioritize under-covered projects - const mainJudges = judgeAssignmentsList.filter( - (a) => !a.track || mainTracks.has(a.track) - ); - - let anyChange = true; - while (anyChange) { - anyChange = false; - for (const a of mainJudges) { - const queue = queues.get(a.judgeId)!; - if (queue.length >= opts.maxProjects) continue; - const pool = eligiblePool.get(a.judgeId)!; - - // Find the next project with the lowest coverage that isn't already in this queue - const assigned = new Set(queue); - const candidate = pool - .filter((p) => !assigned.has(p.id)) - .sort((a, b) => (coverage.get(a.id) ?? 0) - (coverage.get(b.id) ?? 0))[0]; - - if (!candidate) continue; - if (queue.length >= opts.minProjects && (coverage.get(candidate.id) ?? 0) > 0) continue; - - queue.push(candidate.id); - coverage.set(candidate.id, (coverage.get(candidate.id) ?? 0) + 1); - anyChange = true; - } - } - - // Shift/rotate the generated queues to stagger sequences and reduce judge bias - for (let i = 0; i < judgeAssignmentsList.length; i++) { - const judgeId = judgeAssignmentsList[i].judgeId; - const q = queues.get(judgeId); - if (q && q.length > 1) { - const offset = i % q.length; - const rotated = [...q.slice(offset), ...q.slice(0, offset)]; - queues.set(judgeId, rotated); - } - } - - return queues; -} - -export const judgeRouter = createTRPCRouter({ - isJudge: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = CacheKeys.judge(ctx.userId as string); - const cached = ctx.cache.get<{ - isJudge: boolean; - judgeId: string | null; - name: string | null; - }>(cacheKey); - if (cached) return cached; - - const judge = await (ctx.db as DrizzleDB).query.judges.findFirst({ - where: and( - eq(judges.userId, ctx.userId as string), - eq(judges.isActive, true) - ), - }); - - const result = { - isJudge: !!judge, - judgeId: judge?.id || null, - name: judge?.name || null, - }; - ctx.cache.set(cacheKey, result, 60); - - return result; - }), - - getMyAssignments: isJudge.query(async ({ ctx }) => { - const assignments = await (ctx.db as DrizzleDB).query.judgeAssignments.findMany({ - where: eq(judgeAssignments.judgeId, ctx.judge.id), - with: { - hackathon: true, - }, - orderBy: (assignments, { desc }) => [desc(assignments.assignedAt)], - }); - - return assignments; - }), - - getNextTable: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - try { - const nextInQueue = await (ctx.db as DrizzleDB).query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue) { - return { done: true, project: null, remaining: 0 }; - } - - const remainingCount = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, false) - ) - ); - - return { - done: false, - project: nextInQueue.project, - queueId: nextInQueue.id, - remaining: Number(remainingCount[0]?.count || 0), - }; - } catch (error) { - // getNextTable error - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: error instanceof Error ? error.message : "Failed to fetch next project", - }); - } - }), - - getProjects: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - const myVotes = await (ctx.db as DrizzleDB).query.judgeVotes.findMany({ - where: eq(judgeVotes.judgeId, ctx.judge.id), - }); - - const votesMap = new Map(myVotes.map((v) => [v.projectId, v])); - - return projects.map((p) => ({ - ...p, - myVote: votesMap.get(p.id) || null, - hasVoted: votesMap.has(p.id), - })); - }), - - getMaps: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const maps = await (ctx.db as DrizzleDB).query.hackathonMaps.findMany({ - where: eq(hackathonMaps.hackathonId, input.hackathonId), - orderBy: [asc(hackathonMaps.order)], - }); - - return maps; - }), - - getJudgingStatus: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - columns: { judgingActive: true }, - }); - return { active: hackathon?.judgingActive ?? false }; - }), - - toggleJudging: isAdmin - .input(z.object({ - hackathonId: z.string().uuid(), - active: z.boolean(), - })) - .mutation(async ({ ctx, input }) => { - const [updated] = await (ctx.db as DrizzleDB) - .update(hackathons) - .set({ judgingActive: input.active, updatedAt: new Date() }) - .where(eq(hackathons.id, input.hackathonId)) - .returning(); - return { success: true, judgingActive: updated?.judgingActive }; - }), - - submitVote: isJudge - .input( - z.object({ - projectId: z.string().uuid(), - scoreCreativity: z.number().min(1).max(10), - scoreImpact: z.number().min(1).max(10), - scoreScope: z.number().min(1).max(10), - scoreClarity: z.number().min(1).max(10), - scoreSoundness: z.number().min(1).max(10), - durationSeconds: z.number().int().min(0).optional(), - comment: z.string().max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const totalScore = input.scoreCreativity + input.scoreImpact + input.scoreScope + input.scoreClarity + input.scoreSoundness; - - // Atomic upsert: INSERT or UPDATE if judge already voted on this project - const result = await (ctx.db as DrizzleDB) - .insert(judgeVotes) - .values({ - judgeId: ctx.judge.id, - projectId: input.projectId, - score: totalScore, - scoreCreativity: input.scoreCreativity, - scoreImpact: input.scoreImpact, - scoreScope: input.scoreScope, - scoreClarity: input.scoreClarity, - scoreSoundness: input.scoreSoundness, - durationSeconds: input.durationSeconds, - comment: input.comment, - }) - .onConflictDoUpdate({ - target: [judgeVotes.judgeId, judgeVotes.projectId], - set: { - score: sql`excluded.score`, - scoreCreativity: sql`excluded.score_creativity`, - scoreImpact: sql`excluded.score_impact`, - scoreScope: sql`excluded.score_scope`, - scoreClarity: sql`excluded.score_clarity`, - scoreSoundness: sql`excluded.score_soundness`, - durationSeconds: sql`excluded.duration_seconds`, - comment: sql`excluded.comment`, - updatedAt: new Date(), - }, - }) - .returning(); - - return result[0]; - }), - - completeAndNext: isJudge - .input( - z.object({ - queueId: z.string().uuid(), - projectId: z.string().uuid(), - scoreCreativity: z.number().min(1).max(10), - scoreImpact: z.number().min(1).max(10), - scoreScope: z.number().min(1).max(10), - scoreClarity: z.number().min(1).max(10), - scoreSoundness: z.number().min(1).max(10), - durationSeconds: z.number().int().min(0).optional(), - comment: z.string().max(1000).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const totalScore = input.scoreCreativity + input.scoreImpact + input.scoreScope + input.scoreClarity + input.scoreSoundness; - - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // 1. Atomic upsert vote - await tx - .insert(judgeVotes) - .values({ - judgeId: ctx.judge.id, - projectId: input.projectId, - score: totalScore, - scoreCreativity: input.scoreCreativity, - scoreImpact: input.scoreImpact, - scoreScope: input.scoreScope, - scoreClarity: input.scoreClarity, - scoreSoundness: input.scoreSoundness, - durationSeconds: input.durationSeconds, - comment: input.comment, - }) - .onConflictDoUpdate({ - target: [judgeVotes.judgeId, judgeVotes.projectId], - set: { - score: sql`excluded.score`, - scoreCreativity: sql`excluded.score_creativity`, - scoreImpact: sql`excluded.score_impact`, - scoreScope: sql`excluded.score_scope`, - scoreClarity: sql`excluded.score_clarity`, - scoreSoundness: sql`excluded.score_soundness`, - durationSeconds: sql`excluded.duration_seconds`, - comment: sql`excluded.comment`, - updatedAt: new Date(), - }, - }); - - // 2. Mark queue item as completed - await tx - .update(judgeQueue) - .set({ - isCompleted: true, - completedAt: new Date(), - }) - .where(eq(judgeQueue.id, input.queueId)); - - // 3. Get hackathonId from queue item - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - }); - - if (!queueItem) { - return { done: true, nextProject: null }; - } - - // 4. Get next uncompleted queue item - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue) { - return { done: true, nextProject: null }; - } - - return { - done: false, - nextProject: nextInQueue.project, - nextQueueId: nextInQueue.id, - }; - }); - }), - - skipProject: isJudge - .input( - z.object({ - queueId: z.string().uuid(), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // Get the queue item to find the hackathon - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - }); - - if (!queueItem) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Queue item not found", - }); - } - - // Atomically move this item to the end of the queue using a subquery - await tx - .update(judgeQueue) - .set({ - order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${ctx.judge.id} AND ${judgeQueue.hackathonId} = ${queueItem.hackathonId})`, - }) - .where(eq(judgeQueue.id, input.queueId)); - - // Get the next uncompleted item - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false) - ), - with: { - project: true, - }, - orderBy: [asc(judgeQueue.order)], - }); - - if (!nextInQueue || nextInQueue.id === input.queueId) { - // Only this one project left — can't skip the last one - return { done: false, skippedToEnd: true, project: queueItem, queueId: input.queueId }; - } - - return { - done: false, - skippedToEnd: false, - project: nextInQueue.project, - queueId: nextInQueue.id, - }; - }); - }), - - forceSkipOvertime: isJudge - .input(z.object({ queueId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const queueItem = await tx.query.judgeQueue.findFirst({ - where: eq(judgeQueue.id, input.queueId), - with: { project: true }, - }); - if (!queueItem) throw new TRPCError({ code: "NOT_FOUND", message: "Queue item not found" }); - - // Mark completed (no vote submitted) - await tx - .update(judgeQueue) - .set({ isCompleted: true, completedAt: new Date() }) - .where(eq(judgeQueue.id, input.queueId)); - - // Try to reassign to another judge with the same track - const myAssignment = await tx.query.judgeAssignments.findFirst({ - where: eq(judgeAssignments.judgeId, ctx.judge.id), - }); - - if (myAssignment?.hackathonId) { - // Find other judges assigned to the same hackathon - const otherAssignments = await tx.query.judgeAssignments.findMany({ - where: and( - eq(judgeAssignments.hackathonId, myAssignment.hackathonId), - ), - }); - - // Get the project's tracks for matching - const projectTracks = queueItem.project?.tracks || []; - - // Build candidate list with workload info - const candidates: { judgeId: string; trackMatch: boolean; remaining: number }[] = []; - - for (const other of otherAssignments) { - if (other.judgeId === ctx.judge.id) continue; - - // Check if already has this project - const alreadyQueued = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, other.judgeId), - eq(judgeQueue.projectId, queueItem.projectId), - ), - }); - if (alreadyQueued) continue; - - // Count remaining (uncompleted) projects for workload balancing - const remainingCount = await tx - .select({ count: sql`COUNT(*)` }) - .from(judgeQueue) - .where(and( - eq(judgeQueue.judgeId, other.judgeId), - eq(judgeQueue.hackathonId, myAssignment.hackathonId), - eq(judgeQueue.isCompleted, false), - )); - - // Check track match: judge's assigned track overlaps with project's tracks - const trackMatch = other.track - ? projectTracks.includes(other.track) - : false; - - candidates.push({ - judgeId: other.judgeId, - trackMatch, - remaining: remainingCount[0]?.count ?? 0, - }); - } - - // Sort: same-track first, then by fewest remaining projects (lightest load) - candidates.sort((a, b) => { - if (a.trackMatch !== b.trackMatch) return a.trackMatch ? -1 : 1; - return a.remaining - b.remaining; - }); - - const best = candidates[0]; - if (best) { - // Atomic order assignment via SQL subquery - await tx.insert(judgeQueue).values({ - judgeId: best.judgeId, - hackathonId: myAssignment.hackathonId, - projectId: queueItem.projectId, - order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${best.judgeId} AND ${judgeQueue.hackathonId} = ${myAssignment.hackathonId})`, - }); - } - } - - // Get next project for this judge - const nextInQueue = await tx.query.judgeQueue.findFirst({ - where: and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, queueItem.hackathonId), - eq(judgeQueue.isCompleted, false), - ), - with: { project: true }, - orderBy: [asc(judgeQueue.order)], - }); - - return { - done: !nextInQueue, - project: nextInQueue?.project ?? null, - queueId: nextInQueue?.id ?? null, - }; - }); - }), - - getProgress: isJudge - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - try { - const totalResult = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId) - ) - ); - - const completedResult = await (ctx.db as DrizzleDB) - .select({ count: sql`count(*)` }) - .from(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, ctx.judge.id), - eq(judgeQueue.hackathonId, input.hackathonId), - eq(judgeQueue.isCompleted, true) - ) - ); - - const total = Number(totalResult[0]?.count || 0); - const completed = Number(completedResult[0]?.count || 0); - - return { - total, - completed, - percentage: total > 0 ? Math.round((completed / total) * 100) : 0, - }; - } catch (error) { - // getProgress error - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: error instanceof Error ? error.message : "Failed to fetch progress", - }); - } - }), - - getRankings: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:rankings`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - with: { - votes: { - with: { - judge: { - with: { - user: { - columns: { name: true, email: true }, - }, - }, - }, - }, - }, - }, - }); - - const round2 = (n: number) => Math.round(n * 100) / 100; - - // ─── Step 1: Collect all raw scores grouped by judge ────────────────── - // We need per-judge score distributions to perform Z-score normalization, - // which eliminates the "harsh judge / lenient judge" bias problem. - type VoteWithJudge = (typeof projects)[number]["votes"][number]; - const scoresByJudge = new Map(); - for (const project of projects) { - for (const v of project.votes) { - const existing = scoresByJudge.get(v.judgeId) ?? []; - existing.push(v.score); - scoresByJudge.set(v.judgeId, existing); - } - } - - // ─── Step 2: Compute global score distribution ───────────────────────── - const allRawScores = [...scoresByJudge.values()].flat(); - const globalMean = allRawScores.length > 0 - ? allRawScores.reduce((a, b) => a + b, 0) / allRawScores.length - : 0; - const globalVariance = allRawScores.length > 0 - ? allRawScores.reduce((s, v) => s + (v - globalMean) ** 2, 0) / allRawScores.length - : 1; - const globalStd = Math.sqrt(globalVariance) || 1; - - // ─── Step 3: Build per-judge normalized score lookup ────────────────── - // For each judge, map their raw score index to a Z-normalized score. - const normalizedScoreLookup = new Map>(); - for (const [judgeId, rawScores] of scoresByJudge.entries()) { - const normalized = zNormalize(rawScores, globalMean, globalStd); - // Map raw score value -> normalized value (index-based, preserves order) - const lookup = new Map(); - rawScores.forEach((raw, i) => { - // If same raw score appears multiple times, average the normalized values - const existing = lookup.get(raw); - lookup.set(raw, existing !== undefined ? (existing + normalized[i]!) / 2 : normalized[i]!); - }); - normalizedScoreLookup.set(judgeId, lookup); - } - - const getNormalized = (judgeId: string, rawScore: number): number => { - const lookup = normalizedScoreLookup.get(judgeId); - return lookup?.get(rawScore) ?? rawScore; - }; - - // ─── Step 4: Build raw + normalized stats per project ───────────────── - const C = 2; // Bayesian confidence weight - - const rawRankings = projects.map((project) => { - const voteCount = project.votes.length; - - // Raw scores (unadjusted) - const totalScore = project.votes.reduce((sum, v) => sum + v.score, 0); - const avgScore = voteCount > 0 ? totalScore / voteCount : 0; - - // Z-score normalized scores (bias-corrected) - const normalizedScores = project.votes.map((v) => getNormalized(v.judgeId, v.score)); - const normalizedAvg = voteCount > 0 - ? round2(normalizedScores.reduce((a, b) => a + b, 0) / voteCount) - : 0; - - // Per-category averages (raw) - const sumCat = { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; - project.votes.forEach((v) => { - sumCat.creativity += v.scoreCreativity ?? 0; - sumCat.impact += v.scoreImpact ?? 0; - sumCat.scope += v.scoreScope ?? 0; - sumCat.clarity += v.scoreClarity ?? 0; - sumCat.soundness += v.scoreSoundness ?? 0; - }); - - const categoryAvg = voteCount > 0 - ? { - creativity: round2(sumCat.creativity / voteCount), - impact: round2(sumCat.impact / voteCount), - scope: round2(sumCat.scope / voteCount), - clarity: round2(sumCat.clarity / voteCount), - soundness: round2(sumCat.soundness / voteCount), - } - : { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; - - return { - project: { - id: project.id, - name: project.name, - tableNumber: project.tableNumber, - zone: project.zone, - category: project.category, - teamMembers: project.teamMembers, - tracks: project.tracks, - challenges: project.challenges, - isCreateX: project.isCreateX, - }, - totalScore, - voteCount, - avgScore: round2(avgScore), - normalizedAvg, - categoryAvg, - votes: project.votes.map((v, i) => ({ - score: v.score, - normalizedScore: round2(normalizedScores[i] ?? v.score), - scoreCreativity: v.scoreCreativity, - scoreImpact: v.scoreImpact, - scoreScope: v.scoreScope, - scoreClarity: v.scoreClarity, - scoreSoundness: v.scoreSoundness, - comment: v.comment, - durationSeconds: v.durationSeconds, - judgeName: (v as VoteWithJudge & { judge: { user?: { name?: string | null }; name?: string | null } }).judge.user?.name || (v as VoteWithJudge & { judge: { user?: { name?: string | null }; name?: string | null } }).judge.name || "Unknown", - })), - }; - }); - - // ─── Step 5: Compute global normalized average for Bayesian prior ────── - const votedProjects = rawRankings.filter((r) => r.voteCount > 0); - const globalAvg = votedProjects.length > 0 - ? round2(votedProjects.reduce((sum, r) => sum + r.normalizedAvg, 0) / votedProjects.length) - : 0; - - // ─── Step 6: Bayesian + Z-score combined final score ────────────────── - // weightedScore blends normalized avg toward the global mean when few judges voted. - const rankings = rawRankings.map((r) => { - const n = r.voteCount; - const weightedScore = n > 0 - ? round2((n / (n + C)) * r.normalizedAvg + (C / (n + C)) * globalAvg) - : 0; - const confidenceLevel: "NONE" | "LOW" | "MEDIUM" | "HIGH" = - n === 0 ? "NONE" : n === 1 ? "LOW" : n === 2 ? "MEDIUM" : "HIGH"; - const scoreShift = round2(r.normalizedAvg - r.avgScore); // how much bias-correction shifted this project - - return { ...r, weightedScore, confidenceLevel, scoreShift }; - }); - - // Sort by weighted score desc - rankings.sort((a, b) => b.weightedScore - a.weightedScore); - - // Weighted-score ties - const ties: { score: number; projects: { id: string; name: string; tableNumber: number; zone: string | null }[] }[] = []; - const scoreGroups = new Map(); - - rankings.forEach((r) => { - const existing = scoreGroups.get(r.weightedScore); - if (existing) { - existing.push(r); - } else { - scoreGroups.set(r.weightedScore, [r]); - } - }); - - scoreGroups.forEach((group, score) => { - if (group.length > 1) { - ties.push({ - score, - projects: group.map((g) => ({ id: g.project.id, name: g.project.name, tableNumber: g.project.tableNumber, zone: g.project.zone ?? null })), - }); - } - }); - - // Per-category ties (only among projects with votes) - const categoryNames = ["creativity", "impact", "scope", "clarity", "soundness"] as const; - const categoryLabels: Record = { - creativity: "Creativity", - impact: "Impact", - scope: "Scope", - clarity: "Clarity", - soundness: "Soundness", - }; - - const categoryTies: { category: string; avgScore: number; projects: { id: string; name: string; tableNumber: number; zone: string | null }[] }[] = []; - - for (const cat of categoryNames) { - const catGroups = new Map(); - rankings.forEach((r) => { - if (r.voteCount === 0) return; - const avg = r.categoryAvg[cat]; - const existing = catGroups.get(avg); - const projectInfo = { id: r.project.id, name: r.project.name, tableNumber: r.project.tableNumber, zone: r.project.zone ?? null }; - if (existing) { - existing.push(projectInfo); - } else { - catGroups.set(avg, [projectInfo]); - } - }); - catGroups.forEach((group, avg) => { - if (group.length > 1) { - categoryTies.push({ - category: categoryLabels[cat], - avgScore: avg, - projects: group, - }); - } - }); - } - - const result = { - rankings, - globalAvg, - ties, - hasTies: ties.length > 0, - categoryTies, - hasCategoryTies: categoryTies.length > 0, - }; - - ctx.cache.set(cacheKey, result, 30); // 30 second cache for live rankings - - return result; - }), - - list: isAdmin.query(async ({ ctx }) => { - const allJudges = await (ctx.db as DrizzleDB).query.judges.findMany({ - with: { - user: { - columns: { - id: true, - name: true, - email: true, - image: true, - }, - }, - assignments: { - with: { - hackathon: { - columns: { - id: true, - name: true, - }, - }, - }, - }, - }, - orderBy: (judges, { desc }) => [desc(judges.createdAt)], - }); - - return allJudges; - }), - - create: isAdmin - .input( - z.object({ - userId: z.string().min(1).max(255), - name: z.string().max(255).optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const user = await (ctx.db as DrizzleDB).query.users.findFirst({ - where: eq(users.id, input.userId), - }); - - if (!user) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "User not found", - }); - } - - const existing = await (ctx.db as DrizzleDB).query.judges.findFirst({ - where: eq(judges.userId, input.userId), - }); - - if (existing) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "User is already a judge", - }); - } - - const result = await (ctx.db as DrizzleDB) - .insert(judges) - .values({ - userId: input.userId, - name: input.name || user.name, - }) - .returning(); - - return result[0]; - }), - - assignToHackathon: isAdmin - .input( - z.object({ - judgeId: z.string().uuid(), - hackathonId: z.string().uuid(), - isLead: z.boolean().optional(), - track: z.string().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const existing = await (ctx.db as DrizzleDB).query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, input.judgeId), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - if (existing) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "Judge already assigned", - }); - } - - const result = await (ctx.db as DrizzleDB) - .insert(judgeAssignments) - .values({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - isLead: input.isLead || false, - track: input.track, - }) - .returning(); - - const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - columns: { tracks: true }, - }); - const mainTracks = new Set(hackathon?.tracks ?? []); - - const allProjects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - // Filter by track if assigned (fixes bug: previously assigned ALL projects regardless of track) - const track = input.track ?? null; - const isSpecial = track ? !mainTracks.has(track) : false; - const eligibleProjects = track - ? allProjects.filter((p) => { - const inTracks = p.tracks?.includes(track) ?? false; - const inChallenges = p.challenges?.includes(track) ?? false; - const matchCreateX = track.toLowerCase() === "createx" && !!p.isCreateX; - return inTracks || inChallenges || matchCreateX; - }) - : allProjects; - - // Special judges always get their full pool; main track judges get a shuffled subset - const assignedProjects = isSpecial - ? eligibleProjects - : shuffleArray(eligibleProjects); - - if (assignedProjects.length > 0) { - await (ctx.db as DrizzleDB).insert(judgeQueue).values( - assignedProjects.map((p, idx) => ({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - projectId: p.id, - order: idx + 1, - })) - ); - } - - return result[0]; - }), - - createProject: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - name: z.string().min(1).max(255), - description: z.string().max(1000).optional(), - tableNumber: z.number().min(1), - zone: z.string().optional(), - teamMembers: z.string().max(500).optional(), - projectUrl: z.string().url().optional(), - repoUrl: z.string().url().optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values(input) - .returning(); - - return result[0]; - }), - - bulkCreateProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - projects: z.array( - z.object({ - name: z.string().min(1).max(255), - description: z.string().max(1000).optional(), - tableNumber: z.number().min(1), - zone: z.string().optional(), - category: z.string().max(100).optional(), - teamMembers: z.string().max(500).optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values( - input.projects.map((p) => ({ - ...p, - hackathonId: input.hackathonId, - })) - ) - .returning(); - - return result; - }), - - /** Bulk import judges from a parsed CSV. - * Creates user stubs for emails not yet in the system, - * creates judge records, and assigns to the hackathon. */ - bulkImportJudges: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - judges: z.array( - z.object({ - name: z.string().min(1).max(255), - email: z.string().email(), - track: z.string().optional(), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const results = { created: 0, skipped: 0, errors: [] as string[] }; - - for (const j of input.judges) { - try { - // 1. Find or create user by email - let user = await tx.query.users.findFirst({ - where: eq(users.email, j.email), - }); - - if (!user) { - const id = crypto.randomUUID(); - const [newUser] = await tx - .insert(users) - .values({ id, name: j.name, email: j.email }) - .returning(); - user = newUser as NonNullable; - } - - // 2. Find or create judge record - let judge = await tx.query.judges.findFirst({ - where: eq(judges.userId, user.id), - }); - - if (!judge) { - const [newJudge] = await tx - .insert(judges) - .values({ userId: user.id, name: j.name }) - .returning(); - judge = newJudge as NonNullable; - } - - // 3. Assign to hackathon (skip if already assigned) - const existingAssignment = await tx.query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, judge.id), - eq(judgeAssignments.hackathonId, input.hackathonId), - ), - }); - - if (!existingAssignment) { - await tx.insert(judgeAssignments).values({ - judgeId: judge.id, - hackathonId: input.hackathonId, - track: j.track || null, - }); - } - - results.created++; - } catch (e) { - results.skipped++; - results.errors.push(`${j.email}: ${e instanceof Error ? e.message : 'Unknown error'}`); - } - } - - return results; - }); - }), - - /** Bulk import projects from a parsed CSV. - * Auto-assigns incrementing table numbers starting from 1. */ - bulkImportProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - projects: z.array( - z.object({ - name: z.string().min(1).max(255), - teamMembers: z.string().max(500).optional(), - mainTrack: z.string().optional(), - extraTracks: z.array(z.string()).optional(), - isCreateX: z.boolean().default(false), - }) - ), - }) - ) - .mutation(async ({ ctx, input }) => { - // Get the current max table number for this hackathon - const maxResult = await (ctx.db as DrizzleDB) - .select({ max: sql`COALESCE(MAX(${judgingProjects.tableNumber}), 0)` }) - .from(judgingProjects) - .where(eq(judgingProjects.hackathonId, input.hackathonId)); - - let nextTable = (maxResult[0]?.max ?? 0) + 1; - - const rows = input.projects.map((p) => { - const tracks = [ - ...(p.mainTrack ? [p.mainTrack] : []), - ...(p.extraTracks || []), - ].filter(Boolean); - - return { - hackathonId: input.hackathonId, - name: p.name, - teamMembers: p.teamMembers, - tableNumber: nextTable++, - tracks: tracks.length > 0 ? tracks : undefined, - isCreateX: p.isCreateX, - }; - }); - - const result = await (ctx.db as DrizzleDB) - .insert(judgingProjects) - .values(rows) - .returning(); - - return { created: result.length, startTable: rows[0]?.tableNumber, endTable: rows[rows.length - 1]?.tableNumber }; - }), - - addMap: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - imageUrl: z.string().url(), - name: z.string().max(100).optional(), - order: z.number().min(0).default(0), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .insert(hackathonMaps) - .values(input) - .returning(); - - return result[0]; - }), - - initializeQueue: isAdmin - .input( - z.object({ - judgeId: z.string().uuid(), - hackathonId: z.string().uuid(), - shuffle: z.boolean().default(false), - }) - ) - .mutation(async ({ ctx, input }) => { - await (ctx.db as DrizzleDB) - .delete(judgeQueue) - .where( - and( - eq(judgeQueue.judgeId, input.judgeId), - eq(judgeQueue.hackathonId, input.hackathonId) - ) - ); - - // Get judge assignment to check for track restriction - const assignment = await (ctx.db as DrizzleDB).query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, input.judgeId), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - // Fetch all projects (or filter in query if possible, but JS filter matches assignToHackathon logic) - const allProjects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - // Filter based on track if assigned - let projects = (assignment?.track) - ? allProjects.filter((p) => { - const inTracks = p.tracks?.includes(assignment.track!) ?? false; - const inChallenges = p.challenges?.includes(assignment.track!) ?? false; - return inTracks || inChallenges; - }) - : allProjects; - - if (input.shuffle) { - projects = shuffleArray(projects); - } - - if (projects.length > 0) { - await ctx.db!.insert(judgeQueue).values( - projects.map((p, idx) => ({ - judgeId: input.judgeId, - hackathonId: input.hackathonId, - projectId: p.id, - order: idx + 1, - })) - ); - } - - return { success: true, projectCount: projects.length }; - }), - - remove: isAdmin - .input(z.object({ judgeId: z.string().uuid() })) - .mutation(async ({ ctx, input }) => { - await (ctx.db as DrizzleDB).delete(judges).where(eq(judges.id, input.judgeId)); - return { success: true }; - }), - - /** Bulk-assign projects to all judges for a hackathon. - * Main-track judges (Sports, Entertainment, Finance, Healthcare) get 3–9 randomly-selected projects. - * Special-label judges (createX, sponsor challenges, etc.) get ALL matching projects. - */ - assignJudgesToProjects: isAdmin - .input( - z.object({ - hackathonId: z.string().uuid(), - minProjects: z.number().min(1).default(3), - maxProjects: z.number().min(1).default(9), - shuffle: z.boolean().default(true), - /** When false (default), special-label/sponsor judge projects are randomized. - * When true, they stay grouped in table order. */ - groupSpecial: z.boolean().default(false), - autoCalculate: z.boolean().default(true), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - const hackathon = await tx.query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); - if (!hackathon) throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found" }); - - const MAIN_TRACKS = new Set(hackathon.tracks ?? []); - - const allAssignments = await tx.query.judgeAssignments.findMany({ - where: eq(judgeAssignments.hackathonId, input.hackathonId), - with: { judge: true }, - }); - - const allProjects = await tx.query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - orderBy: [asc(judgingProjects.tableNumber)], - }); - - if (allProjects.length === 0) { - throw new TRPCError({ code: "BAD_REQUEST", message: "No projects found for this hackathon" }); - } - - let minProjects = input.minProjects; - let maxProjects = input.maxProjects; - - if (input.autoCalculate) { - // Count active registered participants - const participantCountResult = await tx - .select({ count: sql`count(*)` }) - .from(hackathonParticipants) - .where( - and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - sql`${hackathonParticipants.registrationStatus} != 'rejected'` - ) - ); - const activeRegistrations = Number(participantCountResult[0]?.count || 0); - - const P = allProjects.length || Math.ceil(activeRegistrations / 4) || 1; - const mainJudgesCount = allAssignments.filter( - (a) => !a.track || MAIN_TRACKS.has(a.track) - ).length || 1; - - // Each project needs to be graded at least 3 times - const targetCoverage = 3; - const avgRequired = Math.ceil((P * targetCoverage) / mainJudgesCount); - - // We assume a 3-hour judging window (180 minutes) - // With ~9 minutes per project evaluation, a judge can evaluate at most 20 projects. - minProjects = Math.max(3, Math.min(avgRequired, 20)); - maxProjects = Math.max(minProjects + 2, Math.min(avgRequired + 2, 22)); - } - - // Clear existing queues - await tx.delete(judgeQueue).where(eq(judgeQueue.hackathonId, input.hackathonId)); - - // ── Coverage-maximizing assignment ────────────────────────────────── - // Uses buildCoverageQueues to guarantee every project is seen by at - // least one judge before any project gets an extra judge. This replaces - // the old random-slice approach which could leave some projects unseen. - const judgeList = allAssignments.map((a) => ({ judgeId: a.judgeId, track: a.track ?? null })); - const projectList = allProjects.map((p) => ({ - id: p.id, - tracks: p.tracks ?? null, - challenges: p.challenges ?? null, - tableNumber: p.tableNumber, - isCreateX: p.isCreateX, - })); - - const queues = buildCoverageQueues(judgeList, projectList, MAIN_TRACKS, { - minProjects, - maxProjects, - shuffle: input.shuffle, - groupSpecial: input.groupSpecial, - }); - - // Build all insert rows in one pass - const insertRows: { judgeId: string; hackathonId: string; projectId: string; order: number }[] = []; - for (const [judgeId, projectIds] of queues.entries()) { - projectIds.forEach((projectId, idx) => { - insertRows.push({ - judgeId, - hackathonId: input.hackathonId, - projectId, - order: idx + 1, - }); - }); - } - - if (insertRows.length > 0) { - await tx.insert(judgeQueue).values(insertRows); - } - - // Compute coverage stats for admin feedback - const projectCoverage = new Map(); - for (const row of insertRows) { - projectCoverage.set(row.projectId, (projectCoverage.get(row.projectId) ?? 0) + 1); - } - const coverageValues = [...projectCoverage.values()]; - const uncoveredCount = allProjects.length - projectCoverage.size; - const avgCoverage = coverageValues.length > 0 - ? Math.round((coverageValues.reduce((a, b) => a + b, 0) / coverageValues.length) * 10) / 10 - : 0; - const minCoverage = coverageValues.length > 0 ? Math.min(...coverageValues) : 0; - const maxCoverage = coverageValues.length > 0 ? Math.max(...coverageValues) : 0; - - const results = allAssignments.map((a) => ({ - judgeId: a.judgeId, - judgeName: a.judge.name, - track: a.track ?? null, - assignedCount: queues.get(a.judgeId)?.length ?? 0, - })); - - return { - success: true, - totalJudges: results.length, - totalInsertedRows: insertRows.length, - coverage: { avg: avgCoverage, min: minCoverage, max: maxCoverage, uncovered: uncoveredCount }, - assignments: results, - }; - }); - }), - - /** Per-judge scoring analytics for bias detection and performance review. */ - getJudgeAnalytics: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const cacheKey = `hackathon:${input.hackathonId}:judge-analytics`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; - - // Fetch votes for this hackathon via an explicit join. - const allVotes = await (ctx.db as DrizzleDB) - .select({ - judgeId: judgeVotes.judgeId, - projectId: judgeVotes.projectId, - score: judgeVotes.score, - durationSeconds: judgeVotes.durationSeconds, - judgeName: judges.name, - judgeUserId: judges.userId, - }) - .from(judgeVotes) - .innerJoin(judges, eq(judges.id, judgeVotes.judgeId)) - .innerJoin( - judgingProjects, - and( - eq(judgingProjects.id, judgeVotes.projectId), - eq(judgingProjects.hackathonId, input.hackathonId) - ) - ); - - const queueStats = await (ctx.db as DrizzleDB) - .select({ - judgeId: judgeQueue.judgeId, - total: sql`count(*)`, - completed: sql`sum(case when ${judgeQueue.isCompleted} then 1 else 0 end)`, - }) - .from(judgeQueue) - .where(eq(judgeQueue.hackathonId, input.hackathonId)) - .groupBy(judgeQueue.judgeId); - - const queueMap = new Map(queueStats.map((q) => [q.judgeId, q])); - - // Group votes by judgeId - const byJudge = new Map(); - for (const vote of allVotes) { - const list = byJudge.get(vote.judgeId) ?? []; - list.push(vote); - byJudge.set(vote.judgeId, list); - } - - // Global mean across all votes - const allScores = allVotes.map((v) => v.score); - const globalMean = allScores.length > 0 - ? allScores.reduce((a, b) => a + b, 0) / allScores.length - : 0; - - const round2 = (n: number) => Math.round(n * 100) / 100; - - const analytics = [...byJudge.entries()].map(([judgeId, votes]) => { - const scores = votes.map((v) => v.score); - const mean = scores.reduce((a, b) => a + b, 0) / scores.length; - const variance = scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; - const std = Math.sqrt(variance); - - // Bias score: how far this judge's mean is from the global mean, in std units - const biasScore = round2((mean - globalMean) / (std || 1)); - const biasLabel: "strict" | "neutral" | "lenient" = - biasScore < -0.5 ? "strict" : biasScore > 0.5 ? "lenient" : "neutral"; - - const avgDuration = votes - .filter((v) => v.durationSeconds != null) - .reduce((s, v, _, a) => s + (v.durationSeconds ?? 0) / a.length, 0); - - const qs = queueMap.get(judgeId); - const completionRate = qs && Number(qs.total) > 0 - ? round2(Number(qs.completed) / Number(qs.total)) - : null; - - const firstVote = votes[0]; - - return { - judgeId, - name: firstVote?.judgeName ?? "Unknown", - votesSubmitted: scores.length, - mean: round2(mean), - std: round2(std), - min: Math.min(...scores), - max: Math.max(...scores), - biasScore, - biasLabel, - avgDurationSeconds: avgDuration > 0 ? round2(avgDuration) : null, - completionRate, - queueTotal: qs ? Number(qs.total) : null, - queueCompleted: qs ? Number(qs.completed) : null, - }; - }); - - // Sort: most votes first - analytics.sort((a, b) => b.votesSubmitted - a.votesSubmitted); - - const result = { analytics, globalMean: round2(globalMean), totalVotes: allVotes.length }; - ctx.cache.set(cacheKey, result, 30); - return result; - }), - - getAllVotes: isAdmin - .input(z.object({ hackathonId: z.string().uuid() })) - .query(async ({ ctx, input }) => { - const projects = await (ctx.db as DrizzleDB).query.judgingProjects.findMany({ - where: eq(judgingProjects.hackathonId, input.hackathonId), - with: { - votes: { - with: { - judge: { - with: { - user: { - columns: { name: true }, - }, - }, - }, - }, - }, - }, - orderBy: [asc(judgingProjects.tableNumber)], - }); - - return projects; - }), - - register: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid(), - name: z.string().min(1).max(200), - email: z.string().email().max(200), - phone: z.string().max(20).optional(), - company: z.string().max(200).optional(), - title: z.string().max(200).optional(), - specialty: z.string().max(200).optional(), - linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), - githubUrl: z.string().url().max(500).optional().or(z.literal("")), - previousExperience: z.string().max(2000).optional(), - dietaryRestrictions: z.array(z.string()).optional(), - shirtSize: z.string().optional(), - whyJudge: z.string().max(2000).optional(), - preferredTrack: z.string().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - return await (ctx.db as DrizzleDB).transaction(async (tx) => { - // Check if user is registered as a participant for this hackathon - const participant = await tx.query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - - if (participant) { - throw new TRPCError({ - code: "BAD_REQUEST", - message: "You cannot apply to be a judge because you are registered as a participant for this hackathon.", - }); - } - - // Find existing judge profile or create one - let judge = await tx.query.judges.findFirst({ - where: eq(judges.userId, ctx.userId), - }); - - if (judge) { - await tx - .update(judges) - .set({ - name: input.name, - email: input.email, - phone: input.phone, - company: input.company, - title: input.title, - specialty: input.specialty, - linkedinUrl: input.linkedinUrl, - githubUrl: input.githubUrl, - previousExperience: input.previousExperience, - dietaryRestrictions: input.dietaryRestrictions || [], - shirtSize: input.shirtSize, - whyJudge: input.whyJudge, - }) - .where(eq(judges.id, judge.id)); - } else { - const inserted = await tx - .insert(judges) - .values({ - userId: ctx.userId, - name: input.name, - email: input.email, - phone: input.phone, - company: input.company, - title: input.title, - specialty: input.specialty, - linkedinUrl: input.linkedinUrl || null, - githubUrl: input.githubUrl || null, - previousExperience: input.previousExperience, - dietaryRestrictions: input.dietaryRestrictions || [], - shirtSize: input.shirtSize, - whyJudge: input.whyJudge, - isActive: false, // Must be approved by admin - }) - .returning(); - judge = inserted[0]; - } - - // Create the hackathon assignment request - if (!judge) throw new TRPCError({ code: "INTERNAL_SERVER_ERROR", message: "Failed to create judge profile" }); - - const existingAssignment = await tx.query.judgeAssignments.findFirst({ - where: and( - eq(judgeAssignments.judgeId, judge.id), - eq(judgeAssignments.hackathonId, input.hackathonId) - ), - }); - - if (existingAssignment) { - throw new TRPCError({ code: "CONFLICT", message: "You have already applied to judge this hackathon." }); - } - - await tx.insert(judgeAssignments).values({ - judgeId: judge.id, - hackathonId: input.hackathonId, - track: input.preferredTrack, - status: "pending", - }); - - return { success: true }; - }); - }), -}); diff --git a/packages/api/src/routers/judge/admin.ts b/packages/api/src/routers/judge/admin.ts new file mode 100644 index 00000000..334dfc07 --- /dev/null +++ b/packages/api/src/routers/judge/admin.ts @@ -0,0 +1,914 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure } from "../../trpc"; +import { + judges, + judgeAssignments, + judgeVotes, + judgingProjects, + judgeQueue, + hackathonMaps, + hackathons, + users, + hackathonParticipants, +} from "@query/db"; +import { eq, and, asc, sql } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; +import { shuffleArray, buildCoverageQueues } from "./helpers"; + +export const judgeAdminRouter = createTRPCRouter({ + list: isAdmin.query(async ({ ctx }) => { + const allJudges = await (ctx.db as DrizzleDB).query.judges.findMany({ + with: { + user: { + columns: { + id: true, + name: true, + email: true, + image: true, + }, + }, + assignments: { + with: { + hackathon: { + columns: { + id: true, + name: true, + }, + }, + }, + }, + }, + orderBy: (judges, { desc }) => [desc(judges.createdAt)], + }); + + return allJudges; + }), + + create: isAdmin + .input( + z.object({ + userId: z.string().min(1).max(255), + hackathonId: z.string().uuid(), + name: z.string().max(255).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const user = await (ctx.db as DrizzleDB).query.users.findFirst({ + where: eq(users.id, input.userId), + }); + + if (!user) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "User not found", + }); + } + + const existing = await (ctx.db as DrizzleDB).query.judges.findFirst({ + where: and( + eq(judges.userId, input.userId), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (existing) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "User is already a judge for this hackathon", + }); + } + + const result = await (ctx.db as DrizzleDB) + .insert(judges) + .values({ + userId: input.userId, + hackathonId: input.hackathonId, + name: input.name || user.name, + isActive: true, // Manually created judges are active by default + }) + .returning(); + + return result[0]; + }), + + assignToHackathon: isAdmin + .input( + z.object({ + judgeId: z.string().uuid(), + hackathonId: z.string().uuid(), + isLead: z.boolean().optional(), + track: z.string().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const existing = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, input.judgeId), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (existing) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Judge already assigned", + }); + } + + const result = await (ctx.db as DrizzleDB) + .insert(judgeAssignments) + .values({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + isLead: input.isLead || false, + track: input.track, + }) + .returning(); + + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + columns: { tracks: true }, + }); + const mainTracks = new Set(hackathon?.tracks ?? []); + + const allProjects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + // Filter by track if assigned (fixes bug: previously assigned ALL projects regardless of track) + const track = input.track ?? null; + const isSpecial = track ? !mainTracks.has(track) : false; + const eligibleProjects = track + ? allProjects.filter((p) => { + const inTracks = p.tracks?.includes(track) ?? false; + const inChallenges = p.challenges?.includes(track) ?? false; + const matchCreateX = + track.toLowerCase() === "createx" && !!p.isCreateX; + return inTracks || inChallenges || matchCreateX; + }) + : allProjects; + + // Special judges always get their full pool; main track judges get a shuffled subset + const assignedProjects = isSpecial + ? eligibleProjects + : shuffleArray(eligibleProjects); + + if (assignedProjects.length > 0) { + await (ctx.db as DrizzleDB).insert(judgeQueue).values( + assignedProjects.map((p, idx) => ({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + projectId: p.id, + order: idx + 1, + })), + ); + } + + return result[0]; + }), + + createProject: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + name: z.string().min(1).max(255), + description: z.string().max(1000).optional(), + tableNumber: z.number().min(1), + zone: z.string().optional(), + teamMembers: z.string().max(500).optional(), + projectUrl: z.string().url().optional(), + repoUrl: z.string().url().optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values(input) + .returning(); + + return result[0]; + }), + + bulkCreateProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + projects: z.array( + z.object({ + name: z.string().min(1).max(255), + description: z.string().max(1000).optional(), + tableNumber: z.number().min(1), + zone: z.string().optional(), + category: z.string().max(100).optional(), + teamMembers: z.string().max(500).optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values( + input.projects.map((p) => ({ + ...p, + hackathonId: input.hackathonId, + })), + ) + .returning(); + + return result; + }), + + /** Bulk import judges from a parsed CSV. + * Creates user stubs for emails not yet in the system, + * creates judge records, and assigns to the hackathon. */ + bulkImportJudges: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + judges: z.array( + z.object({ + name: z.string().min(1).max(255), + email: z.string().email(), + track: z.string().optional(), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const results = { created: 0, skipped: 0, errors: [] as string[] }; + + for (const j of input.judges) { + try { + // 1. Find or create user by email + let user = await tx.query.users.findFirst({ + where: eq(users.email, j.email), + }); + + if (!user) { + const id = crypto.randomUUID(); + const [newUser] = await tx + .insert(users) + .values({ id, name: j.name, email: j.email }) + .returning(); + user = newUser as NonNullable; + } + + // 2. Find or create judge record for this hackathon + let judge = await tx.query.judges.findFirst({ + where: and( + eq(judges.userId, user.id), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (!judge) { + const [newJudge] = await tx + .insert(judges) + .values({ + userId: user.id, + hackathonId: input.hackathonId, + name: j.name, + isActive: true, + }) + .returning(); + judge = newJudge as NonNullable; + } + + // 3. Assign to hackathon (skip if already assigned) + const existingAssignment = + await tx.query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, judge.id), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (!existingAssignment) { + await tx.insert(judgeAssignments).values({ + judgeId: judge.id, + hackathonId: input.hackathonId, + track: j.track || null, + }); + } + + results.created++; + } catch (e) { + results.skipped++; + results.errors.push( + `${j.email}: ${e instanceof Error ? e.message : "Unknown error"}`, + ); + } + } + + return results; + }); + }), + + /** Bulk import projects from a parsed CSV. + * Auto-assigns incrementing table numbers starting from 1. */ + bulkImportProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + projects: z.array( + z.object({ + name: z.string().min(1).max(255), + teamMembers: z.string().max(500).optional(), + mainTrack: z.string().optional(), + extraTracks: z.array(z.string()).optional(), + isCreateX: z.boolean().default(false), + }), + ), + }), + ) + .mutation(async ({ ctx, input }) => { + // Get the current max table number for this hackathon + const maxResult = await (ctx.db as DrizzleDB) + .select({ + max: sql`COALESCE(MAX(${judgingProjects.tableNumber}), 0)`, + }) + .from(judgingProjects) + .where(eq(judgingProjects.hackathonId, input.hackathonId)); + + let nextTable = (maxResult[0]?.max ?? 0) + 1; + + const rows = input.projects.map((p) => { + const tracks = [ + ...(p.mainTrack ? [p.mainTrack] : []), + ...(p.extraTracks || []), + ].filter(Boolean); + + return { + hackathonId: input.hackathonId, + name: p.name, + teamMembers: p.teamMembers, + tableNumber: nextTable++, + tracks: tracks.length > 0 ? tracks : undefined, + isCreateX: p.isCreateX, + }; + }); + + const result = await (ctx.db as DrizzleDB) + .insert(judgingProjects) + .values(rows) + .returning(); + + return { + created: result.length, + startTable: rows[0]?.tableNumber, + endTable: rows[rows.length - 1]?.tableNumber, + }; + }), + + addMap: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + imageUrl: z.string().url(), + name: z.string().max(100).optional(), + order: z.number().min(0).default(0), + }), + ) + .mutation(async ({ ctx, input }) => { + const result = await (ctx.db as DrizzleDB) + .insert(hackathonMaps) + .values(input) + .returning(); + + return result[0]; + }), + + initializeQueue: isAdmin + .input( + z.object({ + judgeId: z.string().uuid(), + hackathonId: z.string().uuid(), + shuffle: z.boolean().default(false), + }), + ) + .mutation(async ({ ctx, input }) => { + await (ctx.db as DrizzleDB) + .delete(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, input.judgeId), + eq(judgeQueue.hackathonId, input.hackathonId), + ), + ); + + // Get judge assignment to check for track restriction + const assignment = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, input.judgeId), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + // Fetch all projects (or filter in query if possible, but JS filter matches assignToHackathon logic) + const allProjects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + // Filter based on track if assigned + let projects = assignment?.track + ? allProjects.filter((p) => { + const inTracks = p.tracks?.includes(assignment.track!) ?? false; + const inChallenges = + p.challenges?.includes(assignment.track!) ?? false; + return inTracks || inChallenges; + }) + : allProjects; + + if (input.shuffle) { + projects = shuffleArray(projects); + } + + if (projects.length > 0) { + await ctx.db!.insert(judgeQueue).values( + projects.map((p, idx) => ({ + judgeId: input.judgeId, + hackathonId: input.hackathonId, + projectId: p.id, + order: idx + 1, + })), + ); + } + + return { success: true, projectCount: projects.length }; + }), + + remove: isAdmin + .input(z.object({ judgeId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + await (ctx.db as DrizzleDB) + .delete(judges) + .where(eq(judges.id, input.judgeId)); + return { success: true }; + }), + + /** Bulk-assign projects to all judges for a hackathon. + * Main-track judges (Sports, Entertainment, Finance, Healthcare) get 3–9 randomly-selected projects. + * Special-label judges (createX, sponsor challenges, etc.) get ALL matching projects. + */ + assignJudgesToProjects: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + minProjects: z.number().min(1).default(3), + maxProjects: z.number().min(1).default(9), + shuffle: z.boolean().default(true), + /** When false (default), special-label/sponsor judge projects are randomized. + * When true, they stay grouped in table order. */ + groupSpecial: z.boolean().default(false), + autoCalculate: z.boolean().default(true), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const hackathon = await tx.query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); + if (!hackathon) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found", + }); + + const MAIN_TRACKS = new Set(hackathon.tracks ?? []); + + const allAssignments = await tx.query.judgeAssignments.findMany({ + where: eq(judgeAssignments.hackathonId, input.hackathonId), + with: { judge: true }, + }); + + const allProjects = await tx.query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + if (allProjects.length === 0) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: "No projects found for this hackathon", + }); + } + + let minProjects = input.minProjects; + let maxProjects = input.maxProjects; + + if (input.autoCalculate) { + // Count active registered participants + const participantCountResult = await tx + .select({ count: sql`count(*)` }) + .from(hackathonParticipants) + .where( + and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + sql`${hackathonParticipants.registrationStatus} != 'rejected'`, + ), + ); + const activeRegistrations = Number( + participantCountResult[0]?.count || 0, + ); + + const P = + allProjects.length || Math.ceil(activeRegistrations / 4) || 1; + const mainJudgesCount = + allAssignments.filter((a) => !a.track || MAIN_TRACKS.has(a.track)) + .length || 40; // Default to 40 judges as requested + + // Formula: Required Grades = Max(3, Floor((Total Judges * Judging Window Hours) / (Total Projects * Avg Time Per Project))) + // Judging Window: 3 hours. Avg Time Per Project: 12 minutes (0.2 hours). + const judgingWindowHours = 3; + const avgTimePerProjectHours = 0.2; + const calculatedQuota = Math.floor( + (mainJudgesCount * judgingWindowHours) / + (P * avgTimePerProjectHours), + ); + + const targetCoverage = Math.max(3, calculatedQuota); + const avgRequired = Math.ceil((P * targetCoverage) / mainJudgesCount); + + // Reduce cap: Judges should not have 20 projects. Setting a more reasonable cap of 12. + minProjects = Math.max(3, Math.min(avgRequired, 12)); + maxProjects = Math.max( + minProjects + 1, + Math.min(avgRequired + 1, 14), + ); + } + + // Clear existing queues + await tx + .delete(judgeQueue) + .where(eq(judgeQueue.hackathonId, input.hackathonId)); + + // ── Coverage-maximizing assignment ────────────────────────────────── + // Uses buildCoverageQueues to guarantee every project is seen by at + // least one judge before any project gets an extra judge. This replaces + // the old random-slice approach which could leave some projects unseen. + const judgeList = allAssignments.map((a) => ({ + judgeId: a.judgeId, + track: a.track ?? null, + })); + const projectList = allProjects.map((p) => ({ + id: p.id, + tracks: p.tracks ?? null, + challenges: p.challenges ?? null, + tableNumber: p.tableNumber, + isCreateX: p.isCreateX, + })); + + const queues = buildCoverageQueues( + judgeList, + projectList, + MAIN_TRACKS, + { + minProjects, + maxProjects, + shuffle: input.shuffle, + groupSpecial: input.groupSpecial, + }, + ); + + // Build all insert rows in one pass + const insertRows: { + judgeId: string; + hackathonId: string; + projectId: string; + order: number; + }[] = []; + for (const [judgeId, projectIds] of queues.entries()) { + projectIds.forEach((projectId, idx) => { + insertRows.push({ + judgeId, + hackathonId: input.hackathonId, + projectId, + order: idx + 1, + }); + }); + } + + if (insertRows.length > 0) { + await tx.insert(judgeQueue).values(insertRows); + } + + // Compute coverage stats for admin feedback + const projectCoverage = new Map(); + for (const row of insertRows) { + projectCoverage.set( + row.projectId, + (projectCoverage.get(row.projectId) ?? 0) + 1, + ); + } + const coverageValues = [...projectCoverage.values()]; + const uncoveredCount = allProjects.length - projectCoverage.size; + const avgCoverage = + coverageValues.length > 0 + ? Math.round( + (coverageValues.reduce((a, b) => a + b, 0) / + coverageValues.length) * + 10, + ) / 10 + : 0; + const minCoverage = + coverageValues.length > 0 ? Math.min(...coverageValues) : 0; + const maxCoverage = + coverageValues.length > 0 ? Math.max(...coverageValues) : 0; + + const results = allAssignments.map((a) => ({ + judgeId: a.judgeId, + judgeName: a.judge.name, + track: a.track ?? null, + assignedCount: queues.get(a.judgeId)?.length ?? 0, + })); + + return { + success: true, + totalJudges: results.length, + totalInsertedRows: insertRows.length, + coverage: { + avg: avgCoverage, + min: minCoverage, + max: maxCoverage, + uncovered: uncoveredCount, + }, + assignments: results, + }; + }); + }), + + /** Per-judge scoring analytics for bias detection and performance review. */ + getJudgeAnalytics: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:judge-analytics`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + // Fetch votes for this hackathon via an explicit join. + const allVotes = await (ctx.db as DrizzleDB) + .select({ + judgeId: judgeVotes.judgeId, + projectId: judgeVotes.projectId, + score: judgeVotes.score, + durationSeconds: judgeVotes.durationSeconds, + judgeName: judges.name, + judgeUserId: judges.userId, + }) + .from(judgeVotes) + .innerJoin(judges, eq(judges.id, judgeVotes.judgeId)) + .innerJoin( + judgingProjects, + and( + eq(judgingProjects.id, judgeVotes.projectId), + eq(judgingProjects.hackathonId, input.hackathonId), + ), + ); + + const queueStats = await (ctx.db as DrizzleDB) + .select({ + judgeId: judgeQueue.judgeId, + total: sql`count(*)`, + completed: sql`sum(case when ${judgeQueue.isCompleted} then 1 else 0 end)`, + }) + .from(judgeQueue) + .where(eq(judgeQueue.hackathonId, input.hackathonId)) + .groupBy(judgeQueue.judgeId); + + const queueMap = new Map(queueStats.map((q) => [q.judgeId, q])); + + // Group votes by judgeId + const byJudge = new Map(); + for (const vote of allVotes) { + const list = byJudge.get(vote.judgeId) ?? []; + list.push(vote); + byJudge.set(vote.judgeId, list); + } + + // Global mean across all votes + const allScores = allVotes.map((v) => v.score); + const globalMean = + allScores.length > 0 + ? allScores.reduce((a, b) => a + b, 0) / allScores.length + : 0; + + const round2 = (n: number) => Math.round(n * 100) / 100; + + const analytics = [...byJudge.entries()].map(([judgeId, votes]) => { + const scores = votes.map((v) => v.score); + const mean = scores.reduce((a, b) => a + b, 0) / scores.length; + const variance = + scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; + const std = Math.sqrt(variance); + + // Bias score: how far this judge's mean is from the global mean, in std units + const biasScore = round2((mean - globalMean) / (std || 1)); + const biasLabel: "strict" | "neutral" | "lenient" = + biasScore < -0.5 ? "strict" : biasScore > 0.5 ? "lenient" : "neutral"; + + const avgDuration = votes + .filter((v) => v.durationSeconds != null) + .reduce((s, v, _, a) => s + (v.durationSeconds ?? 0) / a.length, 0); + + const qs = queueMap.get(judgeId); + const completionRate = + qs && Number(qs.total) > 0 + ? round2(Number(qs.completed) / Number(qs.total)) + : null; + + const firstVote = votes[0]; + + return { + judgeId, + name: firstVote?.judgeName ?? "Unknown", + votesSubmitted: scores.length, + mean: round2(mean), + std: round2(std), + min: Math.min(...scores), + max: Math.max(...scores), + biasScore, + biasLabel, + avgDurationSeconds: avgDuration > 0 ? round2(avgDuration) : null, + completionRate, + queueTotal: qs ? Number(qs.total) : null, + queueCompleted: qs ? Number(qs.completed) : null, + }; + }); + + // Sort: most votes first + analytics.sort((a, b) => b.votesSubmitted - a.votesSubmitted); + + const result = { + analytics, + globalMean: round2(globalMean), + totalVotes: allVotes.length, + }; + ctx.cache.set(cacheKey, result, 30); + return result; + }), + + getAllVotes: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + with: { + votes: { + with: { + judge: { + with: { + user: { + columns: { name: true }, + }, + }, + }, + }, + }, + }, + orderBy: [asc(judgingProjects.tableNumber)], + }); + + return projects; + }), + + register: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid(), + name: z.string().min(1).max(200), + email: z.string().email().max(200), + phone: z.string().max(20).optional(), + company: z.string().max(200).optional(), + title: z.string().max(200).optional(), + specialty: z.string().max(200).optional(), + linkedinUrl: z.string().url().max(500).optional().or(z.literal("")), + githubUrl: z.string().url().max(500).optional().or(z.literal("")), + previousExperience: z.string().max(2000).optional(), + dietaryRestrictions: z.array(z.string()).optional(), + shirtSize: z.string().optional(), + whyJudge: z.string().max(2000).optional(), + preferredTrack: z.string().optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // Check if user is registered as a participant for this hackathon + const participant = await tx.query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (participant) { + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "You cannot apply to be a judge because you are registered as a participant for this hackathon.", + }); + } + + // Find existing judge profile or create one for this hackathon + let judge = await tx.query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId), + eq(judges.hackathonId, input.hackathonId), + ), + }); + + if (judge) { + await tx + .update(judges) + .set({ + name: input.name, + email: input.email, + phone: input.phone, + company: input.company, + title: input.title, + specialty: input.specialty, + linkedinUrl: input.linkedinUrl, + githubUrl: input.githubUrl, + previousExperience: input.previousExperience, + dietaryRestrictions: input.dietaryRestrictions || [], + shirtSize: input.shirtSize, + whyJudge: input.whyJudge, + }) + .where(eq(judges.id, judge.id)); + } else { + const inserted = await tx + .insert(judges) + .values({ + userId: ctx.userId, + hackathonId: input.hackathonId, + name: input.name, + email: input.email, + phone: input.phone, + company: input.company, + title: input.title, + specialty: input.specialty, + linkedinUrl: input.linkedinUrl || null, + githubUrl: input.githubUrl || null, + previousExperience: input.previousExperience, + dietaryRestrictions: input.dietaryRestrictions || [], + shirtSize: input.shirtSize, + whyJudge: input.whyJudge, + isActive: false, // Must be approved by admin + }) + .returning(); + judge = inserted[0]; + } + + // Create the hackathon assignment request + if (!judge) + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to create judge profile", + }); + + const existingAssignment = await tx.query.judgeAssignments.findFirst({ + where: and( + eq(judgeAssignments.judgeId, judge.id), + eq(judgeAssignments.hackathonId, input.hackathonId), + ), + }); + + if (existingAssignment) { + throw new TRPCError({ + code: "CONFLICT", + message: "You have already applied to judge this hackathon.", + }); + } + + await tx.insert(judgeAssignments).values({ + judgeId: judge.id, + hackathonId: input.hackathonId, + track: input.preferredTrack, + status: "pending", + }); + + return { success: true }; + }); + }), +}); diff --git a/packages/api/src/routers/judge/helpers.test.ts b/packages/api/src/routers/judge/helpers.test.ts new file mode 100644 index 00000000..03a7b1f7 --- /dev/null +++ b/packages/api/src/routers/judge/helpers.test.ts @@ -0,0 +1,83 @@ +import { describe, it, expect } from "vitest"; +import { + shuffleArray, + zNormalize, + buildCoverageQueues, +} from "./helpers"; + +describe("shuffleArray", () => { + it("preserves length and elements", () => { + const input = [1, 2, 3, 4, 5]; + const output = shuffleArray(input); + expect(output).toHaveLength(input.length); + expect(output.sort()).toEqual(input.sort()); + expect(input).toEqual([1, 2, 3, 4, 5]); + }); +}); + +describe("zNormalize", () => { + it("returns global mean when fewer than two scores", () => { + expect(zNormalize([8], 5, 2)).toEqual([5]); + expect(zNormalize([], 5, 2)).toEqual([]); + }); + + it("returns global mean when judge gave identical scores", () => { + expect(zNormalize([7, 7, 7], 5, 2)).toEqual([5, 5, 5]); + }); + + it("spreads scores around the global mean", () => { + const normalized = zNormalize([2, 5, 8], 5, 2); + expect(normalized[0]).toBeLessThan(5); + expect(normalized[1]).toBeCloseTo(5, 1); + expect(normalized[2]).toBeGreaterThan(5); + }); +}); + +describe("buildCoverageQueues", () => { + const projects = [ + { id: "p1", tracks: ["AI"], challenges: null, tableNumber: 1 }, + { id: "p2", tracks: ["AI"], challenges: null, tableNumber: 2 }, + { id: "p3", tracks: ["Web"], challenges: null, tableNumber: 3 }, + ]; + + it("assigns every project before doubling coverage", () => { + const judges = [ + { judgeId: "j1", track: "AI" }, + { judgeId: "j2", track: "AI" }, + ]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 3, + shuffle: false, + groupSpecial: true, + }); + + const assigned = new Set(); + for (const q of queues.values()) q.forEach((id) => assigned.add(id)); + expect(assigned.has("p1")).toBe(true); + expect(assigned.has("p2")).toBe(true); + }); + + it("respects maxProjects per judge", () => { + const judges = [{ judgeId: "j1", track: null }]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 2, + shuffle: false, + groupSpecial: true, + }); + expect(queues.get("j1")!.length).toBeLessThanOrEqual(2); + }); + + it("filters special-track judges to their track pool", () => { + const judges = [{ judgeId: "j-web", track: "Web" }]; + const queues = buildCoverageQueues(judges, projects, new Set(["AI", "Web"]), { + minProjects: 1, + maxProjects: 5, + shuffle: false, + groupSpecial: true, + }); + const queue = queues.get("j-web")!; + expect(queue.every((id) => id === "p3")).toBe(true); + }); +}); diff --git a/packages/api/src/routers/judge/helpers.ts b/packages/api/src/routers/judge/helpers.ts new file mode 100644 index 00000000..bd5be313 --- /dev/null +++ b/packages/api/src/routers/judge/helpers.ts @@ -0,0 +1,136 @@ +// Shared judge scoring / queue utilities +export function shuffleArray(array: T[]): T[] { + const result = [...array]; + for (let i = result.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + const temp = result[i] as T; + result[i] = result[j] as T; + result[j] = temp; + } + return result; +} + +/** + * Z-score normalizes a judge's scores relative to their own mean/stddev. + * This removes per-judge harshness/leniency bias before aggregation. + * Returns null if fewer than 2 data points (can't compute meaningful stddev). + */ +export function zNormalize( + scores: number[], + globalMean: number, + globalStd: number, +): number[] { + if (scores.length < 2) return scores.map(() => globalMean); + const mean = scores.reduce((a, b) => a + b, 0) / scores.length; + const variance = + scores.reduce((s, v) => s + (v - mean) ** 2, 0) / scores.length; + const std = Math.sqrt(variance); + if (std === 0) return scores.map(() => globalMean); // judge gave same score to everything + return scores.map((v) => globalMean + ((v - mean) / std) * globalStd); +} + +/** + * Coverage-maximizing round-robin assignment. + * Guarantees every project is seen at least `minCoverage` times before + * any project gets an extra judge. Respects track constraints. + */ +export function buildCoverageQueues( + judgeAssignmentsList: { judgeId: string; track: string | null }[], + projects: { + id: string; + tracks: string[] | null; + challenges: string[] | null; + tableNumber: number; + }[], + mainTracks: Set, + opts: { + minProjects: number; + maxProjects: number; + shuffle: boolean; + groupSpecial: boolean; + }, +): Map { + const queues = new Map(); + for (const a of judgeAssignmentsList) queues.set(a.judgeId, []); + + // Coverage counter: projectId -> how many judges are assigned + const coverage = new Map(projects.map((p) => [p.id, 0])); + + // For each judge, determine their eligible project pool + const eligiblePool = new Map(); + for (const a of judgeAssignmentsList) { + const track = a.track; + const isSpecial = track ? !mainTracks.has(track) : false; + const pool = track + ? projects.filter((p) => { + const inTracks = p.tracks?.includes(track) ?? false; + const inChallenges = p.challenges?.includes(track) ?? false; + const matchCreateX = + track.toLowerCase() === "createx" && + !!(p as { isCreateX?: boolean }).isCreateX; + return inTracks || inChallenges || matchCreateX; + }) + : projects; + + if (isSpecial) { + // Special judges always get their full pool + const ordered = opts.groupSpecial ? pool : shuffleArray(pool); + queues.set( + a.judgeId, + ordered.map((p) => p.id), + ); + for (const p of ordered) + coverage.set(p.id, (coverage.get(p.id) ?? 0) + 1); + eligiblePool.set(a.judgeId, []); + } else { + eligiblePool.set(a.judgeId, opts.shuffle ? shuffleArray(pool) : pool); + } + } + + // Round-robin fill: prioritize under-covered projects + const mainJudges = judgeAssignmentsList.filter( + (a) => !a.track || mainTracks.has(a.track), + ); + + let anyChange = true; + while (anyChange) { + anyChange = false; + for (const a of mainJudges) { + const queue = queues.get(a.judgeId)!; + if (queue.length >= opts.maxProjects) continue; + const pool = eligiblePool.get(a.judgeId)!; + + // Find the next project with the lowest coverage that isn't already in this queue + const assigned = new Set(queue); + const candidate = pool + .filter((p) => !assigned.has(p.id)) + .sort( + (a, b) => (coverage.get(a.id) ?? 0) - (coverage.get(b.id) ?? 0), + )[0]; + + if (!candidate) continue; + if ( + queue.length >= opts.minProjects && + (coverage.get(candidate.id) ?? 0) > 0 + ) + continue; + + queue.push(candidate.id); + coverage.set(candidate.id, (coverage.get(candidate.id) ?? 0) + 1); + anyChange = true; + } + } + + // Shift/rotate the generated queues to stagger sequences and reduce judge bias + for (let i = 0; i < judgeAssignmentsList.length; i++) { + const judgeId = judgeAssignmentsList[i].judgeId; + const q = queues.get(judgeId); + if (q && q.length > 1) { + const offset = i % q.length; + const rotated = [...q.slice(offset), ...q.slice(0, offset)]; + queues.set(judgeId, rotated); + } + } + + return queues; +} \ No newline at end of file diff --git a/packages/api/src/routers/judge/index.ts b/packages/api/src/routers/judge/index.ts new file mode 100644 index 00000000..674634b0 --- /dev/null +++ b/packages/api/src/routers/judge/index.ts @@ -0,0 +1,10 @@ +import { mergeRouters } from "../../trpc"; +import { judgePortalRouter } from "./portal"; +import { judgeRankingsRouter } from "./rankings"; +import { judgeAdminRouter } from "./admin"; + +export const judgeRouter = mergeRouters( + judgePortalRouter, + judgeRankingsRouter, + judgeAdminRouter, +); diff --git a/packages/api/src/routers/judge/portal.ts b/packages/api/src/routers/judge/portal.ts new file mode 100644 index 00000000..9bef589c --- /dev/null +++ b/packages/api/src/routers/judge/portal.ts @@ -0,0 +1,559 @@ +import { z } from "zod"; +import { TRPCError } from "@trpc/server"; +import { createTRPCRouter, protectedProcedure } from "../../trpc"; +import { + judges, + judgeAssignments, + judgeVotes, + judgingProjects, + judgeQueue, + hackathonMaps, + hackathons, +} from "@query/db"; +import { eq, and, asc, sql } from "drizzle-orm"; +import { CacheKeys } from "../../middleware/cache"; +import { isAdmin, isJudge } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; + +export const judgePortalRouter = createTRPCRouter({ + isJudge: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + let hackathonId = input?.hackathonId; + if (!hackathonId) { + const latest = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + hackathonId = latest?.id; + } + + if (!hackathonId) { + return { + isJudge: false, + judgeId: null, + name: null, + }; + } + + const cacheKey = `${CacheKeys.judge(ctx.userId as string)}:${hackathonId}`; + const cached = ctx.cache.get<{ + isJudge: boolean; + judgeId: string | null; + name: string | null; + }>(cacheKey); + if (cached) return cached; + + const judge = await (ctx.db as DrizzleDB).query.judges.findFirst({ + where: and( + eq(judges.userId, ctx.userId as string), + eq(judges.hackathonId, hackathonId), + eq(judges.isActive, true), + ), + }); + + const result = { + isJudge: !!judge, + judgeId: judge?.id || null, + name: judge?.name || null, + }; + ctx.cache.set(cacheKey, result, 60); + + return result; + }), + + getMyAssignments: isJudge.query(async ({ ctx }) => { + const assignments = await ( + ctx.db as DrizzleDB + ).query.judgeAssignments.findMany({ + where: eq(judgeAssignments.judgeId, ctx.judge.id), + with: { + hackathon: true, + }, + orderBy: (assignments, { desc }) => [desc(assignments.assignedAt)], + }); + + return assignments; + }), + + getNextTable: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + try { + const nextInQueue = await ( + ctx.db as DrizzleDB + ).query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue) { + return { done: true, project: null, remaining: 0 }; + } + + const remainingCount = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + ); + + return { + done: false, + project: nextInQueue.project, + queueId: nextInQueue.id, + remaining: Number(remainingCount[0]?.count || 0), + }; + } catch (error) { + // getNextTable error + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: + error instanceof Error + ? error.message + : "Failed to fetch next project", + }); + } + }), + + getProjects: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + orderBy: [asc(judgingProjects.tableNumber)], + }); + + const myVotes = await (ctx.db as DrizzleDB).query.judgeVotes.findMany({ + where: eq(judgeVotes.judgeId, ctx.judge.id), + }); + + const votesMap = new Map(myVotes.map((v) => [v.projectId, v])); + + return projects.map((p) => ({ + ...p, + myVote: votesMap.get(p.id) || null, + hasVoted: votesMap.has(p.id), + })); + }), + + getMaps: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const maps = await (ctx.db as DrizzleDB).query.hackathonMaps.findMany({ + where: eq(hackathonMaps.hackathonId, input.hackathonId), + orderBy: [asc(hackathonMaps.order)], + }); + + return maps; + }), + + getJudgingStatus: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const hackathon = await (ctx.db as DrizzleDB).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + columns: { judgingActive: true }, + }); + return { active: hackathon?.judgingActive ?? false }; + }), + + toggleJudging: isAdmin + .input( + z.object({ + hackathonId: z.string().uuid(), + active: z.boolean(), + }), + ) + .mutation(async ({ ctx, input }) => { + const [updated] = await (ctx.db as DrizzleDB) + .update(hackathons) + .set({ judgingActive: input.active, updatedAt: new Date() }) + .where(eq(hackathons.id, input.hackathonId)) + .returning(); + return { success: true, judgingActive: updated?.judgingActive }; + }), + + submitVote: isJudge + .input( + z.object({ + projectId: z.string().uuid(), + scoreCreativity: z.number().min(1).max(10), + scoreImpact: z.number().min(1).max(10), + scoreScope: z.number().min(1).max(10), + scoreClarity: z.number().min(1).max(10), + scoreSoundness: z.number().min(1).max(10), + durationSeconds: z.number().int().min(0).optional(), + comment: z.string().max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const totalScore = + input.scoreCreativity + + input.scoreImpact + + input.scoreScope + + input.scoreClarity + + input.scoreSoundness; + + // Atomic upsert: INSERT or UPDATE if judge already voted on this project + const result = await (ctx.db as DrizzleDB) + .insert(judgeVotes) + .values({ + judgeId: ctx.judge.id, + projectId: input.projectId, + score: totalScore, + scoreCreativity: input.scoreCreativity, + scoreImpact: input.scoreImpact, + scoreScope: input.scoreScope, + scoreClarity: input.scoreClarity, + scoreSoundness: input.scoreSoundness, + durationSeconds: input.durationSeconds, + comment: input.comment, + }) + .onConflictDoUpdate({ + target: [judgeVotes.judgeId, judgeVotes.projectId], + set: { + score: sql`excluded.score`, + scoreCreativity: sql`excluded.score_creativity`, + scoreImpact: sql`excluded.score_impact`, + scoreScope: sql`excluded.score_scope`, + scoreClarity: sql`excluded.score_clarity`, + scoreSoundness: sql`excluded.score_soundness`, + durationSeconds: sql`excluded.duration_seconds`, + comment: sql`excluded.comment`, + updatedAt: new Date(), + }, + }) + .returning(); + + return result[0]; + }), + + completeAndNext: isJudge + .input( + z.object({ + queueId: z.string().uuid(), + projectId: z.string().uuid(), + scoreCreativity: z.number().min(1).max(10), + scoreImpact: z.number().min(1).max(10), + scoreScope: z.number().min(1).max(10), + scoreClarity: z.number().min(1).max(10), + scoreSoundness: z.number().min(1).max(10), + durationSeconds: z.number().int().min(0).optional(), + comment: z.string().max(1000).optional(), + }), + ) + .mutation(async ({ ctx, input }) => { + const totalScore = + input.scoreCreativity + + input.scoreImpact + + input.scoreScope + + input.scoreClarity + + input.scoreSoundness; + + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // 1. Atomic upsert vote + await tx + .insert(judgeVotes) + .values({ + judgeId: ctx.judge.id, + projectId: input.projectId, + score: totalScore, + scoreCreativity: input.scoreCreativity, + scoreImpact: input.scoreImpact, + scoreScope: input.scoreScope, + scoreClarity: input.scoreClarity, + scoreSoundness: input.scoreSoundness, + durationSeconds: input.durationSeconds, + comment: input.comment, + }) + .onConflictDoUpdate({ + target: [judgeVotes.judgeId, judgeVotes.projectId], + set: { + score: sql`excluded.score`, + scoreCreativity: sql`excluded.score_creativity`, + scoreImpact: sql`excluded.score_impact`, + scoreScope: sql`excluded.score_scope`, + scoreClarity: sql`excluded.score_clarity`, + scoreSoundness: sql`excluded.score_soundness`, + durationSeconds: sql`excluded.duration_seconds`, + comment: sql`excluded.comment`, + updatedAt: new Date(), + }, + }); + + // 2. Mark queue item as completed + await tx + .update(judgeQueue) + .set({ + isCompleted: true, + completedAt: new Date(), + }) + .where(eq(judgeQueue.id, input.queueId)); + + // 3. Get hackathonId from queue item + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + }); + + if (!queueItem) { + return { done: true, nextProject: null }; + } + + // 4. Get next uncompleted queue item + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue) { + return { done: true, nextProject: null }; + } + + return { + done: false, + nextProject: nextInQueue.project, + nextQueueId: nextInQueue.id, + }; + }); + }), + + skipProject: isJudge + .input( + z.object({ + queueId: z.string().uuid(), + }), + ) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + // Get the queue item to find the hackathon + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + }); + + if (!queueItem) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Queue item not found", + }); + } + + // Atomically move this item to the end of the queue using a subquery + await tx + .update(judgeQueue) + .set({ + order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${ctx.judge.id} AND ${judgeQueue.hackathonId} = ${queueItem.hackathonId})`, + }) + .where(eq(judgeQueue.id, input.queueId)); + + // Get the next uncompleted item + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { + project: true, + }, + orderBy: [asc(judgeQueue.order)], + }); + + if (!nextInQueue || nextInQueue.id === input.queueId) { + // Only this one project left — can't skip the last one + return { + done: false, + skippedToEnd: true, + project: queueItem, + queueId: input.queueId, + }; + } + + return { + done: false, + skippedToEnd: false, + project: nextInQueue.project, + queueId: nextInQueue.id, + }; + }); + }), + + forceSkipOvertime: isJudge + .input(z.object({ queueId: z.string().uuid() })) + .mutation(async ({ ctx, input }) => { + return await (ctx.db as DrizzleDB).transaction(async (tx) => { + const queueItem = await tx.query.judgeQueue.findFirst({ + where: eq(judgeQueue.id, input.queueId), + with: { project: true }, + }); + if (!queueItem) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Queue item not found", + }); + + // Mark completed (no vote submitted) + await tx + .update(judgeQueue) + .set({ isCompleted: true, completedAt: new Date() }) + .where(eq(judgeQueue.id, input.queueId)); + + // Try to reassign to another judge with the same track + const myAssignment = await tx.query.judgeAssignments.findFirst({ + where: eq(judgeAssignments.judgeId, ctx.judge.id), + }); + + if (myAssignment?.hackathonId) { + // Find other judges assigned to the same hackathon + const otherAssignments = await tx.query.judgeAssignments.findMany({ + where: and( + eq(judgeAssignments.hackathonId, myAssignment.hackathonId), + ), + }); + + // Get the project's tracks for matching + const projectTracks = queueItem.project?.tracks || []; + + // Build candidate list with workload info + const candidates: { + judgeId: string; + trackMatch: boolean; + remaining: number; + }[] = []; + + for (const other of otherAssignments) { + if (other.judgeId === ctx.judge.id) continue; + + // Check if already has this project + const alreadyQueued = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, other.judgeId), + eq(judgeQueue.projectId, queueItem.projectId), + ), + }); + if (alreadyQueued) continue; + + // Count remaining (uncompleted) projects for workload balancing + const remainingCount = await tx + .select({ count: sql`COUNT(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, other.judgeId), + eq(judgeQueue.hackathonId, myAssignment.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + ); + + // Check track match: judge's assigned track overlaps with project's tracks + const trackMatch = other.track + ? projectTracks.includes(other.track) + : false; + + candidates.push({ + judgeId: other.judgeId, + trackMatch, + remaining: remainingCount[0]?.count ?? 0, + }); + } + + // Sort: same-track first, then by fewest remaining projects (lightest load) + candidates.sort((a, b) => { + if (a.trackMatch !== b.trackMatch) return a.trackMatch ? -1 : 1; + return a.remaining - b.remaining; + }); + + const best = candidates[0]; + if (best) { + // Atomic order assignment via SQL subquery + await tx.insert(judgeQueue).values({ + judgeId: best.judgeId, + hackathonId: myAssignment.hackathonId, + projectId: queueItem.projectId, + order: sql`(SELECT COALESCE(MAX(${judgeQueue.order}), 0) + 1 FROM ${judgeQueue} WHERE ${judgeQueue.judgeId} = ${best.judgeId} AND ${judgeQueue.hackathonId} = ${myAssignment.hackathonId})`, + }); + } + } + + // Get next project for this judge + const nextInQueue = await tx.query.judgeQueue.findFirst({ + where: and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, queueItem.hackathonId), + eq(judgeQueue.isCompleted, false), + ), + with: { project: true }, + orderBy: [asc(judgeQueue.order)], + }); + + return { + done: !nextInQueue, + project: nextInQueue?.project ?? null, + queueId: nextInQueue?.id ?? null, + }; + }); + }), + + getProgress: isJudge + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + try { + const totalResult = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + ), + ); + + const completedResult = await (ctx.db as DrizzleDB) + .select({ count: sql`count(*)` }) + .from(judgeQueue) + .where( + and( + eq(judgeQueue.judgeId, ctx.judge.id), + eq(judgeQueue.hackathonId, input.hackathonId), + eq(judgeQueue.isCompleted, true), + ), + ); + + const total = Number(totalResult[0]?.count || 0); + const completed = Number(completedResult[0]?.count || 0); + + return { + total, + completed, + percentage: total > 0 ? Math.round((completed / total) * 100) : 0, + }; + } catch (error) { + // getProgress error + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: + error instanceof Error ? error.message : "Failed to fetch progress", + }); + } + }), +}); diff --git a/packages/api/src/routers/judge/rankings.ts b/packages/api/src/routers/judge/rankings.ts new file mode 100644 index 00000000..784c27d7 --- /dev/null +++ b/packages/api/src/routers/judge/rankings.ts @@ -0,0 +1,328 @@ +import { z } from "zod"; +import { createTRPCRouter } from "../../trpc"; +import { + judgingProjects, +} from "@query/db"; +import { eq } from "drizzle-orm"; +import { isAdmin } from "../../middleware/procedures"; +import type { DrizzleDB } from "@query/db"; +import { zNormalize } from "./helpers"; + +export const judgeRankingsRouter = createTRPCRouter({ + getRankings: isAdmin + .input(z.object({ hackathonId: z.string().uuid() })) + .query(async ({ ctx, input }) => { + const cacheKey = `hackathon:${input.hackathonId}:rankings`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; + + const projects = await ( + ctx.db as DrizzleDB + ).query.judgingProjects.findMany({ + where: eq(judgingProjects.hackathonId, input.hackathonId), + with: { + votes: { + with: { + judge: { + with: { + user: { + columns: { name: true, email: true }, + }, + }, + }, + }, + }, + }, + }); + + const round2 = (n: number) => Math.round(n * 100) / 100; + + // ─── Step 1: Collect all raw scores grouped by judge ────────────────── + // We need per-judge score distributions to perform Z-score normalization, + // which eliminates the "harsh judge / lenient judge" bias problem. + type VoteWithJudge = (typeof projects)[number]["votes"][number]; + const scoresByJudge = new Map(); + for (const project of projects) { + for (const v of project.votes) { + const existing = scoresByJudge.get(v.judgeId) ?? []; + existing.push(v.score); + scoresByJudge.set(v.judgeId, existing); + } + } + + // ─── Step 2: Compute global score distribution ───────────────────────── + const allRawScores = [...scoresByJudge.values()].flat(); + const globalMean = + allRawScores.length > 0 + ? allRawScores.reduce((a, b) => a + b, 0) / allRawScores.length + : 0; + const globalVariance = + allRawScores.length > 0 + ? allRawScores.reduce((s, v) => s + (v - globalMean) ** 2, 0) / + allRawScores.length + : 1; + const globalStd = Math.sqrt(globalVariance) || 1; + + // ─── Step 3: Build per-judge normalized score lookup ────────────────── + // For each judge, map their raw score index to a Z-normalized score. + const normalizedScoreLookup = new Map>(); + for (const [judgeId, rawScores] of scoresByJudge.entries()) { + const normalized = zNormalize(rawScores, globalMean, globalStd); + // Map raw score value -> normalized value (index-based, preserves order) + const lookup = new Map(); + rawScores.forEach((raw, i) => { + // If same raw score appears multiple times, average the normalized values + const existing = lookup.get(raw); + lookup.set( + raw, + existing !== undefined + ? (existing + normalized[i]!) / 2 + : normalized[i]!, + ); + }); + normalizedScoreLookup.set(judgeId, lookup); + } + + const getNormalized = (judgeId: string, rawScore: number): number => { + const lookup = normalizedScoreLookup.get(judgeId); + return lookup?.get(rawScore) ?? rawScore; + }; + + // ─── Step 4: Build raw + normalized stats per project ───────────────── + const C = 2; // Bayesian confidence weight + + const rawRankings = projects.map((project) => { + const voteCount = project.votes.length; + + // Raw scores (unadjusted) + const totalScore = project.votes.reduce((sum, v) => sum + v.score, 0); + const avgScore = voteCount > 0 ? totalScore / voteCount : 0; + + // Z-score normalized scores (bias-corrected) + const normalizedScores = project.votes.map((v) => + getNormalized(v.judgeId, v.score), + ); + const normalizedAvg = + voteCount > 0 + ? round2(normalizedScores.reduce((a, b) => a + b, 0) / voteCount) + : 0; + + // Per-category averages (raw) + const sumCat = { + creativity: 0, + impact: 0, + scope: 0, + clarity: 0, + soundness: 0, + }; + project.votes.forEach((v) => { + sumCat.creativity += v.scoreCreativity ?? 0; + sumCat.impact += v.scoreImpact ?? 0; + sumCat.scope += v.scoreScope ?? 0; + sumCat.clarity += v.scoreClarity ?? 0; + sumCat.soundness += v.scoreSoundness ?? 0; + }); + + const categoryAvg = + voteCount > 0 + ? { + creativity: round2(sumCat.creativity / voteCount), + impact: round2(sumCat.impact / voteCount), + scope: round2(sumCat.scope / voteCount), + clarity: round2(sumCat.clarity / voteCount), + soundness: round2(sumCat.soundness / voteCount), + } + : { creativity: 0, impact: 0, scope: 0, clarity: 0, soundness: 0 }; + + return { + project: { + id: project.id, + name: project.name, + tableNumber: project.tableNumber, + zone: project.zone, + category: project.category, + teamMembers: project.teamMembers, + tracks: project.tracks, + challenges: project.challenges, + isCreateX: project.isCreateX, + }, + totalScore, + voteCount, + avgScore: round2(avgScore), + normalizedAvg, + categoryAvg, + votes: project.votes.map((v, i) => ({ + score: v.score, + normalizedScore: round2(normalizedScores[i] ?? v.score), + scoreCreativity: v.scoreCreativity, + scoreImpact: v.scoreImpact, + scoreScope: v.scoreScope, + scoreClarity: v.scoreClarity, + scoreSoundness: v.scoreSoundness, + comment: v.comment, + durationSeconds: v.durationSeconds, + judgeName: + ( + v as VoteWithJudge & { + judge: { + user?: { name?: string | null }; + name?: string | null; + }; + } + ).judge.user?.name || + ( + v as VoteWithJudge & { + judge: { + user?: { name?: string | null }; + name?: string | null; + }; + } + ).judge.name || + "Unknown", + })), + }; + }); + + // ─── Step 5: Compute global normalized average for Bayesian prior ────── + const votedProjects = rawRankings.filter((r) => r.voteCount > 0); + const globalAvg = + votedProjects.length > 0 + ? round2( + votedProjects.reduce((sum, r) => sum + r.normalizedAvg, 0) / + votedProjects.length, + ) + : 0; + + // ─── Step 6: Bayesian + Z-score combined final score ────────────────── + // weightedScore blends normalized avg toward the global mean when few judges voted. + const rankings = rawRankings.map((r) => { + const n = r.voteCount; + const weightedScore = + n > 0 + ? round2( + (n / (n + C)) * r.normalizedAvg + (C / (n + C)) * globalAvg, + ) + : 0; + const confidenceLevel: "NONE" | "LOW" | "MEDIUM" | "HIGH" = + n === 0 ? "NONE" : n === 1 ? "LOW" : n === 2 ? "MEDIUM" : "HIGH"; + const scoreShift = round2(r.normalizedAvg - r.avgScore); // how much bias-correction shifted this project + + return { ...r, weightedScore, confidenceLevel, scoreShift }; + }); + + // Sort by weighted score desc + rankings.sort((a, b) => b.weightedScore - a.weightedScore); + + // Weighted-score ties + const ties: { + score: number; + projects: { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[]; + }[] = []; + const scoreGroups = new Map(); + + rankings.forEach((r) => { + const existing = scoreGroups.get(r.weightedScore); + if (existing) { + existing.push(r); + } else { + scoreGroups.set(r.weightedScore, [r]); + } + }); + + scoreGroups.forEach((group, score) => { + if (group.length > 1) { + ties.push({ + score, + projects: group.map((g) => ({ + id: g.project.id, + name: g.project.name, + tableNumber: g.project.tableNumber, + zone: g.project.zone ?? null, + })), + }); + } + }); + + // Per-category ties (only among projects with votes) + const categoryNames = [ + "creativity", + "impact", + "scope", + "clarity", + "soundness", + ] as const; + const categoryLabels: Record<(typeof categoryNames)[number], string> = { + creativity: "Creativity", + impact: "Impact", + scope: "Scope", + clarity: "Clarity", + soundness: "Soundness", + }; + + const categoryTies: { + category: string; + avgScore: number; + projects: { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[]; + }[] = []; + + for (const cat of categoryNames) { + const catGroups = new Map< + number, + { + id: string; + name: string; + tableNumber: number; + zone: string | null; + }[] + >(); + rankings.forEach((r) => { + if (r.voteCount === 0) return; + const avg = r.categoryAvg[cat]; + const existing = catGroups.get(avg); + const projectInfo = { + id: r.project.id, + name: r.project.name, + tableNumber: r.project.tableNumber, + zone: r.project.zone ?? null, + }; + if (existing) { + existing.push(projectInfo); + } else { + catGroups.set(avg, [projectInfo]); + } + }); + catGroups.forEach((group, avg) => { + if (group.length > 1) { + categoryTies.push({ + category: categoryLabels[cat], + avgScore: avg, + projects: group, + }); + } + }); + } + + const result = { + rankings, + globalAvg, + ties, + hasTies: ties.length > 0, + categoryTies, + hasCategoryTies: categoryTies.length > 0, + }; + + ctx.cache.set(cacheKey, result, 30); // 30 second cache for live rankings + + return result; + }), +}); diff --git a/packages/api/src/routers/member.ts b/packages/api/src/routers/member.ts index b20bf42a..f383bd57 100644 --- a/packages/api/src/routers/member.ts +++ b/packages/api/src/routers/member.ts @@ -4,29 +4,55 @@ import { createTRPCRouter, protectedProcedure, publicProcedure } from "../trpc"; import { members, membershipHistory } from "@query/db"; import { eq, and } from "drizzle-orm"; import type { DrizzleDB } from "@query/db"; +import { invalidatePortalContext } from "../middleware/cache"; -const nameSchema = z.string().min(1).max(100).regex(/^[a-zA-Z\s'-]+$/, "Invalid name format"); +const nameSchema = z + .string() + .min(1) + .max(100) + .regex(/^[a-zA-Z\s'-]+$/, "Invalid name format"); const urlSchema = z.string().url().max(500).optional(); -const phoneSchema = z.string().regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number").optional(); +const phoneSchema = z + .string() + .regex(/^\+?[1-9]\d{1,14}$/, "Invalid phone number") + .optional(); + +async function getHackathonId(db: DrizzleDB, inputId?: string) { + if (inputId) return inputId; + const latest = await db.query.hackathons.findFirst({ + orderBy: (h, { desc }) => [desc(h.startDate)], + columns: { id: true }, + }); + return latest?.id; +} export const memberRouter = createTRPCRouter({ - me: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `member:me:${ctx.userId}`; - const cached = ctx.cache.get(cacheKey); - if (cached) return cached; + me: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) return null; - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); + const cacheKey = `member:me:${ctx.userId}:${hackathonId}`; + const cached = ctx.cache.get(cacheKey); + if (cached) return cached; - const result = member ?? null; - ctx.cache.set(cacheKey, result, 60); - return result; - }), + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + }); + + const result = member ?? null; + ctx.cache.set(cacheKey, result, 60); + return result; + }), register: protectedProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), firstName: nameSchema, lastName: nameSchema, phoneNumber: phoneSchema, @@ -38,17 +64,30 @@ export const memberRouter = createTRPCRouter({ linkedinUrl: urlSchema, githubUrl: urlSchema, portfolioUrl: urlSchema, - }) + }), ) .mutation(async ({ ctx, input }) => { - const existingMember = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for registration", + }); + } + + const existingMember = await ( + ctx.db as DrizzleDB + ).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); if (existingMember) { throw new TRPCError({ code: "BAD_REQUEST", - message: "You are already a member", + message: "You are already a member for this hackathon", }); } @@ -60,6 +99,7 @@ export const memberRouter = createTRPCRouter({ .insert(members) .values({ userId: ctx.userId!, + hackathonId, memberType: "new", firstName: input.firstName, lastName: input.lastName, @@ -93,58 +133,74 @@ export const memberRouter = createTRPCRouter({ endDate: membershipEndDate, }); + invalidatePortalContext(ctx.userId!); + return newMember; }), - renew: protectedProcedure.mutation(async ({ ctx }) => { - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); + renew: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .mutation(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for renewal", + }); + } - if (!member) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Member not found", - }); - } - - const newEndDate = new Date(member.membershipEndDate || new Date()); - newEndDate.setFullYear(newEndDate.getFullYear() + 1); - - const result = await (ctx.db as DrizzleDB) - .update(members) - .set({ - memberType: "continuous", - membershipEndDate: newEndDate, - renewalCount: member.renewalCount + 1, - isActive: true, - updatedAt: new Date(), - }) - .where(eq(members.id, member.id)) - .returning(); - - const updatedMember = result[0]; - - if (!updatedMember) { - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: "Failed to renew membership", + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); - } - await (ctx.db as DrizzleDB).insert(membershipHistory).values({ - memberId: member.id, - action: "renewed", - startDate: member.membershipEndDate || new Date(), - endDate: newEndDate, - }); + if (!member) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Member not found for this hackathon", + }); + } + + const newEndDate = new Date(member.membershipEndDate || new Date()); + newEndDate.setFullYear(newEndDate.getFullYear() + 1); - return updatedMember; - }), + const result = await (ctx.db as DrizzleDB) + .update(members) + .set({ + memberType: "continuous", + membershipEndDate: newEndDate, + renewalCount: member.renewalCount + 1, + isActive: true, + updatedAt: new Date(), + }) + .where(eq(members.id, member.id)) + .returning(); + + const updatedMember = result[0]; + + if (!updatedMember) { + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: "Failed to renew membership", + }); + } + + await (ctx.db as DrizzleDB).insert(membershipHistory).values({ + memberId: member.id, + action: "renewed", + startDate: member.membershipEndDate || new Date(), + endDate: newEndDate, + }); + + return updatedMember; + }), update: protectedProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), firstName: nameSchema.optional(), lastName: nameSchema.optional(), phoneNumber: phoneSchema, @@ -156,24 +212,38 @@ export const memberRouter = createTRPCRouter({ linkedinUrl: urlSchema, githubUrl: urlSchema, portfolioUrl: urlSchema, - }) + }), ) .mutation(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for update", + }); + } + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), }); if (!member) { throw new TRPCError({ code: "NOT_FOUND", - message: "Member not found", + message: "Member not found for this hackathon", }); } + // Exclude hackathonId from update fields + const { hackathonId: _, ...updateFields } = input; + const result = await (ctx.db as DrizzleDB) .update(members) .set({ - ...input, + ...updateFields, updatedAt: new Date(), }) .where(eq(members.id, member.id)) @@ -194,20 +264,25 @@ export const memberRouter = createTRPCRouter({ list: publicProcedure .input( z.object({ + hackathonId: z.string().uuid().optional(), memberType: z.enum(["new", "continuous"]).optional(), limit: z.number().int().min(1).max(100).default(50), offset: z.number().int().min(0).max(10000).default(0), - }) + }), ) .query(async ({ ctx, input }) => { - const cacheKey = `members:list:${input.memberType || 'all'}:${input.limit}:${input.offset}`; + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input.hackathonId); + const cacheKey = `members:list:${hackathonId || "all"}:${input.memberType || "all"}:${input.limit}:${input.offset}`; const cached = ctx.cache.get(cacheKey); if (cached) return cached; const allMembers = await (ctx.db as DrizzleDB).query.members.findMany({ where: and( eq(members.isActive, true), - input.memberType ? eq(members.memberType, input.memberType) : undefined + hackathonId ? eq(members.hackathonId, hackathonId) : undefined, + input.memberType + ? eq(members.memberType, input.memberType) + : undefined, ), limit: input.limit, offset: input.offset, @@ -277,75 +352,106 @@ export const memberRouter = createTRPCRouter({ return member; }), - history: protectedProcedure.query(async ({ ctx }) => { - // Single joined query instead of member lookup + history lookup - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - columns: { id: true }, - with: { - membershipHistory: { - orderBy: (h, { desc }) => [desc(h.createdAt)], - limit: 50, + history: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "No hackathon context found for history lookup", + }); + } + + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + columns: { id: true }, + with: { + membershipHistory: { + orderBy: (h, { desc }) => [desc(h.createdAt)], + limit: 50, + }, }, - }, - }); - - if (!member) { - throw new TRPCError({ code: "NOT_FOUND", message: "Member not found" }); - } - - return member.membershipHistory; - }), - - checkStatus: protectedProcedure.query(async ({ ctx }) => { - const cacheKey = `member:status:${ctx.userId}`; - const cached = ctx.cache.get<{ - isMember: boolean; - isActive: boolean | null; - expiresAt: Date | null; - daysRemaining: number | null; - memberType: string | null; - renewalCount: number; - }>(cacheKey); - if (cached) return cached; - - const member = await (ctx.db as DrizzleDB).query.members.findFirst({ - where: eq(members.userId, ctx.userId!), - }); - - if (!member) { + }); + + if (!member) { + throw new TRPCError({ code: "NOT_FOUND", message: "Member not found for this hackathon" }); + } + + return member.membershipHistory; + }), + + checkStatus: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid().optional() }).optional()) + .query(async ({ ctx, input }) => { + const hackathonId = await getHackathonId(ctx.db as DrizzleDB, input?.hackathonId); + if (!hackathonId) { + return { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, + }; + } + + const cacheKey = `member:status:${ctx.userId}:${hackathonId}`; + const cached = ctx.cache.get<{ + isMember: boolean; + isActive: boolean | null; + expiresAt: Date | null; + daysRemaining: number | null; + memberType: string | null; + renewalCount: number; + }>(cacheKey); + if (cached) return cached; + + const member = await (ctx.db as DrizzleDB).query.members.findFirst({ + where: and( + eq(members.userId, ctx.userId!), + eq(members.hackathonId, hackathonId), + ), + }); + + if (!member) { + const result = { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, + }; + ctx.cache.set(cacheKey, result, 30); + return result; + } + + const now = new Date(); + const expiresAt = member.membershipEndDate; + const isActive = member.isActive && expiresAt && expiresAt > now; + + let daysRemaining: number | null = null; + if (expiresAt) { + daysRemaining = Math.ceil( + (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24), + ); + } + const result = { - isMember: false, - isActive: false, - expiresAt: null, - daysRemaining: null, - memberType: null, - renewalCount: 0, + isMember: true, + isActive, + memberType: member.memberType, + expiresAt, + daysRemaining, + renewalCount: member.renewalCount, }; + ctx.cache.set(cacheKey, result, 30); + return result; - } - - const now = new Date(); - const expiresAt = member.membershipEndDate; - const isActive = member.isActive && expiresAt && expiresAt > now; - - let daysRemaining: number | null = null; - if (expiresAt) { - daysRemaining = Math.ceil((expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24)); - } - - const result = { - isMember: true, - isActive, - memberType: member.memberType, - expiresAt, - daysRemaining, - renewalCount: member.renewalCount, - }; - - ctx.cache.set(cacheKey, result, 30); - - return result; - }), -}); \ No newline at end of file + }), +}); diff --git a/packages/api/src/routers/settings.ts b/packages/api/src/routers/settings.ts deleted file mode 100644 index 0325afa3..00000000 --- a/packages/api/src/routers/settings.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { z } from "zod"; -import { createTRPCRouter, publicProcedure } from "../trpc"; -import { systemSettings } from "@query/db"; -import { eq } from "drizzle-orm"; -import { isSuperAdmin } from "../middleware/procedures"; -import type { DrizzleDB } from "@query/db"; - -export const settingsRouter = createTRPCRouter({ - get: publicProcedure.query(async ({ ctx }) => { - // If not using db yet, safely return default - if (!ctx.db) { - return { - systemName: 'DSGT Query Engine', - maintenanceMode: false, - requireEmailVerification: true, - maxEventCapacity: 500, - allowPublicRegistration: true, - }; - } - - let settings = await (ctx.db as DrizzleDB).query.systemSettings.findFirst({ - where: eq(systemSettings.id, "default"), - }); - - if (!settings) { - // Create defaults if they don't exist - const inserted = await (ctx.db as DrizzleDB) - .insert(systemSettings) - .values({ - id: "default", - systemName: 'DSGT Query Engine', - maintenanceMode: false, - requireEmailVerification: true, - maxEventCapacity: 500, - allowPublicRegistration: true, - }) - .returning(); - settings = inserted[0]; - } - - return settings; - }), - - update: isSuperAdmin - .input( - z.object({ - systemName: z.string().min(1).optional(), - maintenanceMode: z.boolean().optional(), - requireEmailVerification: z.boolean().optional(), - maxEventCapacity: z.number().int().min(1).optional(), - allowPublicRegistration: z.boolean().optional(), - }) - ) - .mutation(async ({ ctx, input }) => { - const result = await (ctx.db as DrizzleDB) - .update(systemSettings) - .set({ - ...input, - updatedAt: new Date(), - }) - .where(eq(systemSettings.id, "default")) - .returning(); - - if (!result.length) { - // If row doesn't exist yet, insert with input overwriting defaults - const inserted = await (ctx.db as DrizzleDB) - .insert(systemSettings) - .values({ - id: "default", - ...input, - }) - .returning(); - return inserted[0]; - } - - return result[0]; - }), -}); diff --git a/packages/api/src/routers/stripe.ts b/packages/api/src/routers/stripe.ts index c9c3aed8..e465cf5d 100644 --- a/packages/api/src/routers/stripe.ts +++ b/packages/api/src/routers/stripe.ts @@ -1,13 +1,36 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; -import { stripePayments, userAccountLinks, members } from "@query/db"; +import { stripePayments, userAccountLinks, members, hackathons } from "@query/db"; import type { DrizzleDB } from "@query/db"; -import { eq, and, isNull } from "drizzle-orm"; +import { eq, and, isNull, desc } from "drizzle-orm"; import { logSecurityEvent } from "../middleware/security"; -import Stripe from "stripe"; +import { invalidatePortalContext } from "../middleware/cache"; +import type Stripe from "stripe"; +import crypto from "crypto"; + +let stripeClient: Stripe | null | undefined; + +async function getStripe(): Promise { + if (stripeClient !== undefined) return stripeClient; + const key = process.env.STRIPE_SECRET_KEY; + if (!key) { + stripeClient = null; + return stripeClient; + } + const { default: StripeSDK } = await import("stripe"); + stripeClient = new StripeSDK(key); + return stripeClient; +} -const stripe = process.env.STRIPE_SECRET_KEY ? new Stripe(process.env.STRIPE_SECRET_KEY) : null; +function clearMembershipCaches( + cache: { delete: (key: string) => boolean; deletePattern: (pattern: string) => number }, + userId: string, +) { + cache.delete(`member:${userId}`); + cache.deletePattern(`member:status:${userId}*`); + invalidatePortalContext(userId); +} export const stripeRouter = createTRPCRouter({ /** @@ -16,10 +39,12 @@ export const stripeRouter = createTRPCRouter({ createCheckoutSession: protectedProcedure .input(z.object({ returnUrl: z.string().url() })) .mutation(async ({ ctx, input }) => { + const stripe = await getStripe(); if (!stripe) { throw new TRPCError({ code: "SERVICE_UNAVAILABLE", - message: "Payment service is currently unavailable. Please try again later.", + message: + "Payment service is currently unavailable. Please try again later.", }); } @@ -34,6 +59,43 @@ export const stripeRouter = createTRPCRouter({ }); } + // Check if we are running in development with a mock key + if (process.env.STRIPE_SECRET_KEY?.startsWith("mk_")) { + const sessionId = `cs_mock_${crypto.randomUUID().replace(/-/g, "")}`; + const nameParts = (user.name || "Member").split(" "); + const firstName = nameParts[0] || "Member"; + const lastName = nameParts.slice(1).join(" ") || "Member"; + + await ctx.db!.transaction(async (tx) => { + await tx.insert(stripePayments).values({ + stripeSessionId: sessionId, + stripeCustomerId: "cus_mock_123", + stripePaymentIntentId: "pi_mock_123", + customerEmail: user.email!.toLowerCase(), + customerName: user.name || "Member", + amountTotal: 2500, + currency: "usd", + paymentStatus: "paid", + linkedUserId: ctx.userId!, + linkedAt: new Date(), + metadata: JSON.stringify({ userId: ctx.userId! }), + }); + + await createOrUpdateMembership( + tx as unknown as DrizzleDB, + ctx.userId!, + firstName, + lastName, + ); + }); + + // Invalidate cache + clearMembershipCaches(ctx.cache, ctx.userId!); + + const mockUrl = `${input.returnUrl}${input.returnUrl.includes("?") ? "&" : "?"}payment=success&session_id=${sessionId}`; + return { url: mockUrl }; + } + try { const session = await stripe.checkout.sessions.create({ payment_method_types: ["card"], @@ -43,7 +105,8 @@ export const stripeRouter = createTRPCRouter({ currency: "usd", product_data: { name: "DSGT Membership", - description: "One year membership to Data Science at Georgia Tech", + description: + "One year membership to Data Science at Georgia Tech", // images: ["https://example.com/logo.png"], // Optional: Add a logo if available }, unit_amount: 2500, // $15.00 @@ -66,10 +129,77 @@ export const stripeRouter = createTRPCRouter({ // Check for invalid API key errors specifically if possible, but obscure all // Generic error for all Stripe failures - don't leak configuration status logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', + type: "validation_error", + identifier: ctx.userId ?? "unknown", details: `Stripe error: ${error}`, }); + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: + "Payment service is temporarily unavailable. Please try again later.", + }); + } + }), + + /** + * Create a Stripe PaymentIntent for embedded/modal checkout + * Returns client_secret for use with Stripe Payment Element + */ + createPaymentIntent: protectedProcedure + .mutation(async ({ ctx }) => { + const stripe = await getStripe(); + if (!stripe) { + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: "Payment service is currently unavailable. Please try again later.", + }); + } + + const user = await ctx.db!.query.users.findFirst({ + where: eq((await import("@query/db")).users.id, ctx.userId!), + }); + + if (!user?.email) { + throw new TRPCError({ + code: "PRECONDITION_FAILED", + message: "User must have an email address to checkout.", + }); + } + + // Dev/mock mode + if (process.env.STRIPE_SECRET_KEY?.startsWith("mk_")) { + return { + clientSecret: "mock_pi_secret", + publishableKey: process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ?? "pk_test_mock", + isMock: true, + }; + } + + try { + const paymentIntent = await stripe.paymentIntents.create({ + amount: 1500, // $15.00 in cents + currency: "usd", + receipt_email: user.email, + description: "DSGT Annual Membership ($15/yr)", + metadata: { + userId: ctx.userId!, + userEmail: user.email, + type: "membership", + }, + automatic_payment_methods: { enabled: true }, + }); + + return { + clientSecret: paymentIntent.client_secret!, + publishableKey: process.env.NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY ?? "", + isMock: false, + }; + } catch (error: unknown) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: `Stripe PaymentIntent error: ${error}`, + }); throw new TRPCError({ code: "SERVICE_UNAVAILABLE", message: "Payment service is temporarily unavailable. Please try again later.", @@ -77,10 +207,104 @@ export const stripeRouter = createTRPCRouter({ } }), + /** + * Called by the frontend after PaymentIntent succeeds client-side. + * Verifies with Stripe, records the payment in DB, and activates membership. + */ + confirmMembershipAfterPayment: protectedProcedure + .input(z.object({ paymentIntentId: z.string() })) + .mutation(async ({ ctx, input }) => { + const stripe = await getStripe(); + if (!stripe) { + throw new TRPCError({ + code: "SERVICE_UNAVAILABLE", + message: "Payment service unavailable.", + }); + } + + // Verify with Stripe that payment actually succeeded + const pi = await stripe.paymentIntents.retrieve(input.paymentIntentId); + if (pi.status !== "succeeded") { + throw new TRPCError({ + code: "BAD_REQUEST", + message: `Payment not yet complete (status: ${pi.status}). Please wait and try again.`, + }); + } + + // Ensure the intent was for this user (guard against replay attacks) + if (pi.metadata?.userId && pi.metadata.userId !== ctx.userId) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: `PaymentIntent userId mismatch: ${pi.metadata.userId} vs ${ctx.userId}`, + }); + throw new TRPCError({ code: "FORBIDDEN", message: "Payment mismatch." }); + } + + const user = await ctx.db!.query.users.findFirst({ + where: eq((await import("@query/db")).users.id, ctx.userId!), + }); + + const nameParts = (user?.name || "Member").split(" "); + const firstName = nameParts[0] ?? "Member"; + const lastName = nameParts.slice(1).join(" ") || "Member"; + + // Check if already processed (idempotent) + const existing = await ctx.db!.query.stripePayments.findFirst({ + where: eq(stripePayments.stripePaymentIntentId, pi.id), + }); + + if (!existing) { + await ctx.db!.transaction(async (tx) => { + await tx.insert(stripePayments).values({ + stripeSessionId: `pi_${pi.id}`, + stripeCustomerId: typeof pi.customer === "string" ? pi.customer : (pi.customer?.id ?? ""), + stripePaymentIntentId: pi.id, + customerEmail: (pi.receipt_email ?? user?.email ?? "").toLowerCase(), + customerName: user?.name ?? "Member", + amountTotal: pi.amount, + currency: pi.currency, + paymentStatus: "paid", + linkedUserId: ctx.userId!, + linkedAt: new Date(), + metadata: JSON.stringify(pi.metadata ?? {}), + }); + + await createOrUpdateMembership( + tx as unknown as DrizzleDB, + ctx.userId!, + firstName, + lastName, + ); + }); + } else if (!existing.linkedUserId) { + // Payment exists but wasn't linked — link it now + await ctx.db!.update(stripePayments) + .set({ linkedUserId: ctx.userId!, linkedAt: new Date(), updatedAt: new Date() }) + .where(eq(stripePayments.id, existing.id)); + await createOrUpdateMembership(ctx.db! as DrizzleDB, ctx.userId!, firstName, lastName); + } + + clearMembershipCaches(ctx.cache, ctx.userId!); + + return { success: true }; + }), + + /** * Attempt to auto-link a Stripe payment matching the user's email */ attemptAutoLink: protectedProcedure.mutation(async ({ ctx }) => { + // Basic rate limit to prevent loop hammering (max 1 request per 10 seconds per user) + const rateLimitKey = `rl:autolink:${ctx.userId!}`; + if (ctx.cache.get(rateLimitKey)) { + throw new TRPCError({ + code: "TOO_MANY_REQUESTS", + message: "Too many requests. Please wait a moment before trying again.", + }); + } + ctx.cache.set(rateLimitKey, true, 10); + return await ctx.db!.transaction(async (tx) => { const user = await tx.query.users.findFirst({ where: eq((await import("@query/db")).users.id, ctx.userId!), @@ -92,7 +316,7 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, user.email), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); @@ -116,7 +340,8 @@ export const stripeRouter = createTRPCRouter({ providedEmail: user.email, }); - await tx.update(stripePayments) + await tx + .update(stripePayments) .set({ linkedUserId: ctx.userId!, linkedAt: new Date(), @@ -128,11 +353,10 @@ export const stripeRouter = createTRPCRouter({ tx as unknown as DrizzleDB, ctx.userId!, firstName, - lastName + lastName, ); - // Invalidate cache directly - ctx.cache.delete(`member:status:${ctx.userId!}`); + clearMembershipCaches(ctx.cache, ctx.userId!); return { success: true }; }); @@ -156,7 +380,7 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, user.email), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); @@ -176,7 +400,7 @@ export const stripeRouter = createTRPCRouter({ firstName: z.string().min(1).max(100), lastName: z.string().min(1).max(100), email: z.string().email().max(255), - }) + }), ) .mutation(async ({ ctx, input }) => { return await ctx.db!.transaction(async (tx) => { @@ -184,14 +408,15 @@ export const stripeRouter = createTRPCRouter({ where: and( eq(stripePayments.customerEmail, input.email.toLowerCase()), isNull(stripePayments.linkedUserId), - eq(stripePayments.paymentStatus, "paid") + eq(stripePayments.paymentStatus, "paid"), ), }); if (!payment) { throw new TRPCError({ code: "NOT_FOUND", - message: "No payment found with that email. Please check the email you used during checkout.", + message: + "No payment found with that email. Please check the email you used during checkout.", }); } @@ -201,8 +426,8 @@ export const stripeRouter = createTRPCRouter({ if (existingLink) { logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', + type: "validation_error", + identifier: ctx.userId ?? "unknown", details: `Attempted to link already linked payment ${payment.id}`, }); throw new TRPCError({ @@ -243,13 +468,15 @@ export const stripeRouter = createTRPCRouter({ tx as unknown as DrizzleDB, ctx.userId!, input.firstName, - input.lastName + input.lastName, ); - // Invalidate membership status cache - ctx.cache.delete(`member:status:${ctx.userId!}`); + clearMembershipCaches(ctx.cache, ctx.userId!); - return { success: true, message: "Account linked successfully! You are now a member." }; + return { + success: true, + message: "Account linked successfully! You are now a member.", + }; }); }), @@ -280,10 +507,22 @@ async function createOrUpdateMembership( db: DrizzleDB, userId: string, firstName: string, - lastName: string + lastName: string, ) { + const latest = await db.query.hackathons.findFirst({ + orderBy: [desc(hackathons.startDate)], + columns: { id: true }, + }); + + if (!latest) { + throw new Error("No hackathon found for membership assignment"); + } + const existingMember = await db.query.members.findFirst({ - where: eq(members.userId, userId), + where: and( + eq(members.userId, userId), + eq(members.hackathonId, latest.id), + ), }); const now = new Date(); @@ -305,6 +544,7 @@ async function createOrUpdateMembership( } else { await db.insert(members).values({ userId, + hackathonId: latest.id, firstName, lastName, memberType: "new", @@ -314,4 +554,4 @@ async function createOrUpdateMembership( renewalCount: 0, }); } -} \ No newline at end of file +} diff --git a/packages/api/src/routers/team.ts b/packages/api/src/routers/team.ts index 4663bde3..76068e5b 100644 --- a/packages/api/src/routers/team.ts +++ b/packages/api/src/routers/team.ts @@ -2,491 +2,597 @@ import { z } from "zod"; import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure } from "../trpc"; import { - hackathonTeams, - hackathonParticipants, - hackathonProjects, - hackathons, + hackathonTeams, + hackathonParticipants, + hackathonProjects, + hackathons, } from "@query/db"; import { eq, and } from "drizzle-orm"; - -async function checkTeamEditWindow(db: any, hackathonId: string) { - const hackathon = await db.query.hackathons.findFirst({ - where: eq(hackathons.id, hackathonId), +import type { DrizzleDB } from "@query/db"; + +async function checkTeamEditWindow(db: DrizzleDB, hackathonId: string) { + const hackathon = await db.query.hackathons.findFirst({ + where: eq(hackathons.id, hackathonId), + }); + if (!hackathon) { + throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); + } + const now = new Date(); + const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; + const startEdit = new Date(baseTime.getTime() + 12 * 60 * 60 * 1000); + const endEdit = new Date(baseTime.getTime() + 34 * 60 * 60 * 1000); + if (now < startEdit) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Team creation and editing is not open yet. It starts 12 hours after the hacking begins.", }); - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); - } - const now = new Date(); - const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; - const startEdit = new Date(baseTime.getTime() + 12 * 60 * 60 * 1000); - const endEdit = new Date(baseTime.getTime() + 34 * 60 * 60 * 1000); - if (now < startEdit) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Team creation and editing is not open yet. It starts 12 hours after the hacking begins.", - }); - } - if (now > endEdit) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Team creation and editing is closed. It ends 34 hours after the hacking begins.", - }); - } + } + if (now > endEdit) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Team creation and editing is closed. It ends 34 hours after the hacking begins.", + }); + } } export const teamRouter = createTRPCRouter({ - createTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - name: z.string().min(1, "Team name is required").max(100), - description: z.string().max(500).optional(), - maxMembers: z.number().int().min(2).max(4).default(4), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - // 1. Check if user is registered for this hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); + createTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + name: z.string().min(1, "Team name is required").max(100), + description: z.string().max(500).optional(), + maxMembers: z.number().int().min(2).max(4).default(4), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + // 1. Check if user is registered for this hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - if (!participant) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "You are not registered for this hackathon.", - }); + // 2. Check if user is already in a team + if (participant.teamId) { + throw new TRPCError({ + code: "CONFLICT", + message: "You are already in a team for this hackathon.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 3. Create the team + const [newTeam] = await tx + .insert(hackathonTeams) + .values({ + hackathonId: input.hackathonId, + name: input.name, + description: input.description, + captainId: ctx.userId as string, + currentMembers: 1, // The captain is the first member + maxMembers: input.maxMembers, + }) + .returning(); + + // 4. Update the participant's team ID + if (newTeam) { + await tx + .update(hackathonParticipants) + .set({ teamId: newTeam.id }) + .where(eq(hackathonParticipants.id, participant.id)); } - // 2. Check if user is already in a team - if (participant.teamId) { - throw new TRPCError({ - code: "CONFLICT", - message: "You are already in a team for this hackathon.", - }); - } + return newTeam; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to create team: ${message}`, + }); + } + }), + + joinTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + teamId: z.string().uuid("Invalid team ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + // 1. Verify user is registered for hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 3. Create the team - const [newTeam] = await tx - .insert(hackathonTeams) - .values({ - hackathonId: input.hackathonId, - name: input.name, - description: input.description, - captainId: ctx.userId as string, - currentMembers: 1, // The captain is the first member - maxMembers: input.maxMembers, - }) - .returning(); - - // 4. Update the participant's team ID - if (newTeam) { - await tx - .update(hackathonParticipants) - .set({ teamId: newTeam.id }) - .where(eq(hackathonParticipants.id, participant.id)); - } - - return newTeam; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to create team: ${message}`, - }); - } - }), - - joinTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - teamId: z.string().uuid("Invalid team ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - // 1. Verify user is registered for hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), + // 2. Check if already in a team + if (participant.teamId) { + throw new TRPCError({ + code: "CONFLICT", + message: "You are already in a team.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 3. Find the team and check capacity + const team = await tx.query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), }); - if (!participant) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "You are not registered for this hackathon.", - }); + if (!team) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found.", + }); } - // 2. Check if already in a team - if (participant.teamId) { - throw new TRPCError({ - code: "CONFLICT", - message: "You are already in a team.", - }); + if (!team.isOpen) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "This team is closed.", + }); } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 3. Find the team and check capacity - const team = await tx.query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), - }); - - if (!team) { - throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - } - - if (!team.isOpen) { - throw new TRPCError({ code: "FORBIDDEN", message: "This team is closed." }); - } - - if (team.currentMembers >= team.maxMembers) { - throw new TRPCError({ code: "FORBIDDEN", message: "This team is full." }); - } - - // 4. Join the team - await tx - .update(hackathonParticipants) - .set({ teamId: team.id }) - .where(eq(hackathonParticipants.id, participant.id)); - - // 5. Increment team member count - await tx - .update(hackathonTeams) - .set({ currentMembers: team.currentMembers + 1 }) - .where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to join team: ${message}`, - }); + if (team.currentMembers >= team.maxMembers) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "This team is full.", + }); } - }), - - leaveTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - }); - if (!participant || !participant.teamId) { - throw new TRPCError({ code: "NOT_FOUND", message: "You are not in a team." }); - } + // 4. Join the team + await tx + .update(hackathonParticipants) + .set({ teamId: team.id }) + .where(eq(hackathonParticipants.id, participant.id)); + + // 5. Increment team member count + await tx + .update(hackathonTeams) + .set({ currentMembers: team.currentMembers + 1 }) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to join team: ${message}`, + }); + } + }), + + leaveTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + }); + + if (!participant || !participant.teamId) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not in a team.", + }); + } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - const team = await tx.query.hackathonTeams.findFirst({ - where: eq(hackathonTeams.id, participant.teamId!), - }); - - if (!team) throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - - // If captain is the only one left, they can "leave" which deletes the team - if (team.captainId === ctx.userId as string) { - if (team.currentMembers <= 1) { - // Delete team projects first - await tx.delete(hackathonProjects).where(eq(hackathonProjects.teamId, team.id)); - // Delete team - await tx.delete(hackathonTeams).where(eq(hackathonTeams.id, team.id)); - // Mark user as solo - await tx.update(hackathonParticipants).set({ teamId: null }).where(eq(hackathonParticipants.id, participant.id)); - return { success: true, message: "Team disbanded." }; - } - - throw new TRPCError({ - code: "FORBIDDEN", - message: "The captain cannot leave a multi-member team. You must disband it or transfer ownership.", - }); - } - - // 1. Remove user from team - await tx - .update(hackathonParticipants) - .set({ teamId: null }) - .where(eq(hackathonParticipants.id, participant.id)); - - // 2. Decrement team member count - await tx - .update(hackathonTeams) - .set({ currentMembers: Math.max(0, team.currentMembers - 1) }) - .where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to leave team: ${message}`, - }); - } - }), - - disbandTeam: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid("Invalid hackathon ID"), - teamId: z.string().uuid("Invalid team ID"), - }) - ) - .mutation(async ({ ctx, input }) => { - await checkTeamEditWindow(ctx.db, input.hackathonId); - const team = await (ctx.db as NonNullable).query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + const team = await tx.query.hackathonTeams.findFirst({ + where: eq(hackathonTeams.id, participant.teamId!), }); - if (!team) throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); - if (team.captainId !== ctx.userId as string) { - throw new TRPCError({ code: "FORBIDDEN", message: "Only the captain can disband the team." }); + if (!team) + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found.", + }); + + // If captain is the only one left, they can "leave" which deletes the team + if (team.captainId === (ctx.userId as string)) { + if (team.currentMembers <= 1) { + // Delete team projects first + await tx + .delete(hackathonProjects) + .where(eq(hackathonProjects.teamId, team.id)); + // Delete team + await tx + .delete(hackathonTeams) + .where(eq(hackathonTeams.id, team.id)); + // Mark user as solo + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.id, participant.id)); + return { success: true, message: "Team disbanded." }; + } + + throw new TRPCError({ + code: "FORBIDDEN", + message: + "The captain cannot leave a multi-member team. You must disband it or transfer ownership.", + }); } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // 1. Remove all members - await tx - .update(hackathonParticipants) - .set({ teamId: null }) - .where(eq(hackathonParticipants.teamId, team.id)); - - // 2. Delete projects - await tx.delete(hackathonProjects).where(eq(hackathonProjects.teamId, team.id)); - - // 3. Delete team - await tx.delete(hackathonTeams).where(eq(hackathonTeams.id, team.id)); - - return { success: true }; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to disband team: ${message}`, - }); - } - }), - - submitProject: protectedProcedure - .input( - z.object({ - hackathonId: z.string().uuid(), - teamId: z.string().uuid().optional(), // Can be solo - name: z.string().min(1, "Project name is required"), - description: z.string().min(10, "Description must be at least 10 characters"), - technologies: z.array(z.string()).optional(), - tracks: z.array(z.string()).optional(), - challenges: z.array(z.string()).optional(), - githubUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - demoUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - videoUrl: z.string().url("Must be a valid URL").optional().or(z.literal('')), - }) - ) - .mutation(async ({ ctx, input }) => { - // 1. Verify user is registered for hackathon - const participant = await (ctx.db as NonNullable).query.hackathonParticipants.findFirst({ - where: and( - eq(hackathonParticipants.hackathonId, input.hackathonId), - eq(hackathonParticipants.userId, ctx.userId as string) - ), - with: { team: true }, - }); - - if (!participant) { - throw new TRPCError({ code: "NOT_FOUND", message: "You are not registered for this hackathon." }); - } - - // 1.5. Verify hackathon is not past the submission window - const hackathon = await (ctx.db as NonNullable).query.hackathons.findFirst({ - where: eq(hackathons.id, input.hackathonId), - }); + // 1. Remove user from team + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.id, participant.id)); + + // 2. Decrement team member count + await tx + .update(hackathonTeams) + .set({ currentMembers: Math.max(0, team.currentMembers - 1) }) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to leave team: ${message}`, + }); + } + }), + + disbandTeam: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid("Invalid hackathon ID"), + teamId: z.string().uuid("Invalid team ID"), + }), + ) + .mutation(async ({ ctx, input }) => { + await checkTeamEditWindow(ctx.db as DrizzleDB, input.hackathonId); + const team = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), + }); + + if (!team) + throw new TRPCError({ code: "NOT_FOUND", message: "Team not found." }); + if (team.captainId !== (ctx.userId as string)) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Only the captain can disband the team.", + }); + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // 1. Remove all members + await tx + .update(hackathonParticipants) + .set({ teamId: null }) + .where(eq(hackathonParticipants.teamId, team.id)); + + // 2. Delete projects + await tx + .delete(hackathonProjects) + .where(eq(hackathonProjects.teamId, team.id)); + + // 3. Delete team + await tx + .delete(hackathonTeams) + .where(eq(hackathonTeams.id, team.id)); + + return { success: true }; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to disband team: ${message}`, + }); + } + }), + + submitProject: protectedProcedure + .input( + z.object({ + hackathonId: z.string().uuid(), + teamId: z.string().uuid().optional(), // Can be solo + name: z.string().min(1, "Project name is required"), + description: z + .string() + .min(10, "Description must be at least 10 characters"), + technologies: z.array(z.string()).optional(), + tracks: z.array(z.string()).optional(), + challenges: z.array(z.string()).optional(), + githubUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + demoUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + videoUrl: z + .string() + .url("Must be a valid URL") + .optional() + .or(z.literal("")), + }), + ) + .mutation(async ({ ctx, input }) => { + // 1. Verify user is registered for hackathon + const participant = await ( + ctx.db as NonNullable + ).query.hackathonParticipants.findFirst({ + where: and( + eq(hackathonParticipants.hackathonId, input.hackathonId), + eq(hackathonParticipants.userId, ctx.userId as string), + ), + with: { team: true }, + }); + + if (!participant) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "You are not registered for this hackathon.", + }); + } - if (!hackathon) { - throw new TRPCError({ code: "NOT_FOUND", message: "Hackathon not found." }); - } + // 1.5. Verify hackathon is not past the submission window + const hackathon = await ( + ctx.db as NonNullable + ).query.hackathons.findFirst({ + where: eq(hackathons.id, input.hackathonId), + }); - const now = new Date(); - const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; - const startSubmission = new Date(baseTime.getTime() + 12 * 60 * 60 * 1000); - const devpostFinalDeadline = new Date(baseTime.getTime() + 34 * 60 * 60 * 1000); - const hardDeadline = new Date(baseTime.getTime() + 36 * 60 * 60 * 1000); - - if (now < startSubmission) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project submission is not open yet. It starts 12 hours after the hacking begins.", - }); - } + if (!hackathon) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Hackathon not found.", + }); + } + + const now = new Date(); + const baseTime = hackathon.hackingStartTime ?? hackathon.startDate; + const startSubmission = new Date( + baseTime.getTime() + 12 * 60 * 60 * 1000, + ); + const devpostFinalDeadline = new Date( + baseTime.getTime() + 34 * 60 * 60 * 1000, + ); + const hardDeadline = new Date(baseTime.getTime() + 36 * 60 * 60 * 1000); + + if (now < startSubmission) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project submission is not open yet. It starts 12 hours after the hacking begins.", + }); + } - if (now > hardDeadline) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project submission closed. The submission window ended 36 hours after the hacking started.", - }); - } + if (now > hardDeadline) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project submission closed. The submission window ended 36 hours after the hacking started.", + }); + } + + // Fetch existing project to check for edit restrictions + let existingProject; + if (input.teamId) { + existingProject = await ( + ctx.db as NonNullable + ).query.hackathonProjects.findFirst({ + where: and( + eq(hackathonProjects.hackathonId, input.hackathonId), + eq(hackathonProjects.teamId, input.teamId), + ), + }); + } - // Fetch existing project to check for edit restrictions - let existingProject; - if (input.teamId) { - existingProject = await (ctx.db as NonNullable).query.hackathonProjects.findFirst({ - where: and( - eq(hackathonProjects.hackathonId, input.hackathonId), - eq(hackathonProjects.teamId, input.teamId) - ) - }); - } + if (existingProject && now > devpostFinalDeadline) { + throw new TRPCError({ + code: "FORBIDDEN", + message: + "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", + }); + } + + // Validate team ownership to prevent IDOR attacks + // Use teamId from participant record instead of nested team object + if (input.teamId) { + // Verify team belongs to this hackathon + const team = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findFirst({ + where: and( + eq(hackathonTeams.id, input.teamId), + eq(hackathonTeams.hackathonId, input.hackathonId), + ), + }); - if (existingProject && now > devpostFinalDeadline) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Project edits are closed. Devposts must be final 34 hours after the hacking starts.", - }); - } + if (!team) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Team not found for this hackathon.", + }); + } - // Validate team ownership to prevent IDOR attacks - // Use teamId from participant record instead of nested team object - if (input.teamId) { - // Verify team belongs to this hackathon - const team = await (ctx.db as NonNullable).query.hackathonTeams.findFirst({ - where: and( - eq(hackathonTeams.id, input.teamId), - eq(hackathonTeams.hackathonId, input.hackathonId) - ), - }); - - if (!team) { - throw new TRPCError({ - code: "NOT_FOUND", - message: "Team not found for this hackathon.", - }); - } - - // Verify captain ownership using teamId comparison (not nested object) - if (team.captainId !== ctx.userId as string) { - throw new TRPCError({ - code: "FORBIDDEN", - message: "Only the team captain can submit the project.", - }); - } + // Verify captain ownership using teamId comparison (not nested object) + if (team.captainId !== (ctx.userId as string)) { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Only the team captain can submit the project.", + }); + } + } else { + // No team ID provided - solo submission (participant is already in the team) + } + + try { + return await (ctx.db as NonNullable).transaction( + async (tx) => { + // We clean up empty strings to be null + const githubUrl = + input.githubUrl === "" ? undefined : input.githubUrl; + const demoUrl = input.demoUrl === "" ? undefined : input.demoUrl; + const videoUrl = input.videoUrl === "" ? undefined : input.videoUrl; + + let finalProject; + if (existingProject) { + // Update existing + const [updated] = await tx + .update(hackathonProjects) + .set({ + name: input.name, + description: input.description, + technologies: input.technologies || [], + tracks: input.tracks || [], + challenges: input.challenges || [], + githubUrl, + demoUrl, + videoUrl, + status: "submitted", + submittedAt: new Date(), + }) + .where(eq(hackathonProjects.id, existingProject.id)) + .returning(); + finalProject = updated; } else { - // No team ID provided - solo submission (participant is already in the team) + // Insert new + const [inserted] = await tx + .insert(hackathonProjects) + .values({ + hackathonId: input.hackathonId, + teamId: input.teamId, + name: input.name, + description: input.description, + technologies: input.technologies || [], + tracks: input.tracks || [], + challenges: input.challenges || [], + githubUrl, + demoUrl, + videoUrl, + status: "submitted", + submittedAt: new Date(), + }) + .returning(); + finalProject = inserted; } - try { - return await (ctx.db as NonNullable).transaction(async (tx) => { - // We clean up empty strings to be null - const githubUrl = input.githubUrl === '' ? undefined : input.githubUrl; - const demoUrl = input.demoUrl === '' ? undefined : input.demoUrl; - const videoUrl = input.videoUrl === '' ? undefined : input.videoUrl; - - let finalProject; - if (existingProject) { - // Update existing - const [updated] = await tx.update(hackathonProjects).set({ - name: input.name, - description: input.description, - technologies: input.technologies || [], - tracks: input.tracks || [], - challenges: input.challenges || [], - githubUrl, - demoUrl, - videoUrl, - status: "submitted", - submittedAt: new Date() - }).where(eq(hackathonProjects.id, existingProject.id)).returning(); - finalProject = updated; - } else { - // Insert new - const [inserted] = await tx.insert(hackathonProjects).values({ - hackathonId: input.hackathonId, - teamId: input.teamId, - name: input.name, - description: input.description, - technologies: input.technologies || [], - tracks: input.tracks || [], - challenges: input.challenges || [], - githubUrl, - demoUrl, - videoUrl, - status: "submitted", - submittedAt: new Date() - }).returning(); - finalProject = inserted; - } - - // Mark the participant as having submitted - await tx.update(hackathonParticipants).set({ - hasSubmittedProject: true - }).where(eq(hackathonParticipants.id, participant.id)); - - return finalProject; - }); - } catch (error: unknown) { - if (error instanceof TRPCError) throw error; - const message = error instanceof Error ? error.message : "Unknown error"; - throw new TRPCError({ - code: "INTERNAL_SERVER_ERROR", - message: `Failed to submit project: ${message}`, - }); - } - }), - - list: protectedProcedure - .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) - .query(async ({ ctx, input }) => { - const teams = await (ctx.db as NonNullable).query.hackathonTeams.findMany({ - where: eq(hackathonTeams.hackathonId, input.hackathonId), - with: { - captain: { - columns: { id: true, name: true, image: true }, - }, - participants: { - columns: { - id: true, - userId: true, - registrationStatus: true, - }, - with: { - user: { - columns: { id: true, name: true, image: true }, - }, - }, - }, - }, - orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], - }); - - return teams; - }), + // Mark the participant as having submitted + await tx + .update(hackathonParticipants) + .set({ + hasSubmittedProject: true, + }) + .where(eq(hackathonParticipants.id, participant.id)); + + return finalProject; + }, + ); + } catch (error: unknown) { + if (error instanceof TRPCError) throw error; + const message = + error instanceof Error ? error.message : "Unknown error"; + throw new TRPCError({ + code: "INTERNAL_SERVER_ERROR", + message: `Failed to submit project: ${message}`, + }); + } + }), + + list: protectedProcedure + .input(z.object({ hackathonId: z.string().uuid("Invalid hackathon ID") })) + .query(async ({ ctx, input }) => { + const teams = await ( + ctx.db as NonNullable + ).query.hackathonTeams.findMany({ + where: eq(hackathonTeams.hackathonId, input.hackathonId), + with: { + captain: { + columns: { id: true, name: true, image: true }, + }, + participants: { + columns: { + id: true, + userId: true, + registrationStatus: true, + }, + with: { + user: { + columns: { id: true, name: true, image: true }, + }, + }, + }, + }, + orderBy: (hackathonTeams, { desc }) => [desc(hackathonTeams.createdAt)], + }); + + return teams; + }), }); diff --git a/packages/api/src/routers/user.ts b/packages/api/src/routers/user.ts index 9eda3abb..b725a91a 100644 --- a/packages/api/src/routers/user.ts +++ b/packages/api/src/routers/user.ts @@ -3,8 +3,9 @@ import { TRPCError } from "@trpc/server"; import { createTRPCRouter, protectedProcedure, uploadProcedure } from "../trpc"; import { users, userProfiles } from "@query/db"; import { eq } from "drizzle-orm"; -import { imageSize } from "image-size"; import { CacheKeys } from "../middleware/cache"; +import type { DrizzleDB } from "@query/db"; +import { fetchPortalContext } from "../services/portal-context"; export const userRouter = createTRPCRouter({ me: protectedProcedure.query(async ({ ctx }) => { @@ -20,7 +21,9 @@ export const userRouter = createTRPCRouter({ }>(cacheKey); if (cached) return cached; - const user = await (ctx.db as NonNullable).query.users.findFirst({ + const user = await ( + ctx.db as NonNullable + ).query.users.findFirst({ where: eq(users.id, ctx.userId as string), columns: { id: true, email: true, name: true, image: true }, with: { @@ -48,6 +51,26 @@ export const userRouter = createTRPCRouter({ return result; }), + getPortalContext: protectedProcedure.query(async ({ ctx }) => { + const userId = ctx.userId as string; + const cacheKey = CacheKeys.portalContext(userId); + const cached = ctx.cache.get>>( + cacheKey, + ); + if (cached) return cached; + + if (!ctx.db) { + throw new TRPCError({ + code: "NOT_FOUND", + message: "Database unavailable", + }); + } + + const result = await fetchPortalContext(ctx.db as DrizzleDB, userId); + ctx.cache.set(cacheKey, result, 300); + return result; + }), + updateProfile: protectedProcedure .input( z.object({ @@ -56,7 +79,7 @@ export const userRouter = createTRPCRouter({ bio: z.string().max(500).optional(), website: z.string().url().max(500).optional(), location: z.string().max(200).optional(), - }) + }), ) .mutation(async ({ ctx, input }) => { const { name, image, bio, website, location } = input; @@ -66,11 +89,18 @@ export const userRouter = createTRPCRouter({ if (name !== undefined || image !== undefined) { ops.push( - (ctx.db as NonNullable).update(users).set({ name, image }).where(eq(users.id, ctx.userId as string)) + (ctx.db as NonNullable) + .update(users) + .set({ name, image }) + .where(eq(users.id, ctx.userId as string)), ); } - if (bio !== undefined || website !== undefined || location !== undefined) { + if ( + bio !== undefined || + website !== undefined || + location !== undefined + ) { // Use upsert instead of check-then-insert (eliminates one round-trip) ops.push( (ctx.db as NonNullable) @@ -84,7 +114,7 @@ export const userRouter = createTRPCRouter({ location: location ?? undefined, updatedAt: new Date(), }, - }) + }), ); } @@ -98,40 +128,65 @@ export const userRouter = createTRPCRouter({ updateProfileImage: uploadProcedure .input( z.object({ - base64Image: z.string() - .regex(/^data:image\/(jpeg|png|webp);base64,[a-zA-Z0-9+/]+={0,2}$/, "Invalid image format") + base64Image: z + .string() + .regex( + /^data:image\/(jpeg|png|webp);base64,[a-zA-Z0-9+/]+={0,2}$/, + "Invalid image format", + ) .max(2 * 1024 * 1024), - }) + }), ) .mutation(async ({ ctx, input }) => { const base64Data = input.base64Image.split(",")[1]; if (!base64Data) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Invalid base64 payload" }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid base64 payload", + }); } const buffer = Buffer.from(base64Data, "base64"); try { + const { imageSize } = await import("image-size"); const dimensions = imageSize(buffer); if (!dimensions.width || !dimensions.height) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Invalid image dimensions. File may be corrupt." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Invalid image dimensions. File may be corrupt.", + }); } if (dimensions.width > 2000 || dimensions.height > 2000) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Image dimensions exceed the maximum allowed size of 2000x2000 pixels." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Image dimensions exceed the maximum allowed size of 2000x2000 pixels.", + }); } - const allowedTypes = ['jpg', 'jpeg', 'png', 'webp']; + const allowedTypes = ["jpg", "jpeg", "png", "webp"]; if (!dimensions.type || !allowedTypes.includes(dimensions.type)) { - throw new TRPCError({ code: "BAD_REQUEST", message: "Malicious payload detected: File signature does not match expected image formats." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: + "Malicious payload detected: File signature does not match expected image formats.", + }); } } catch (err) { if (err instanceof TRPCError) throw err; - throw new TRPCError({ code: "BAD_REQUEST", message: "Could not parse image. File may be corrupt or malicious." }); + throw new TRPCError({ + code: "BAD_REQUEST", + message: "Could not parse image. File may be corrupt or malicious.", + }); } - await (ctx.db as NonNullable).update(users).set({ image: input.base64Image }).where(eq(users.id, ctx.userId as string)); + await (ctx.db as NonNullable) + .update(users) + .set({ image: input.base64Image }) + .where(eq(users.id, ctx.userId as string)); ctx.cache.deletePattern(`user:${ctx.userId as string}*`); return { success: true }; }), -}); \ No newline at end of file +}); diff --git a/packages/api/src/routers/user/portal-context.test.ts b/packages/api/src/routers/user/portal-context.test.ts new file mode 100644 index 00000000..27a79c1c --- /dev/null +++ b/packages/api/src/routers/user/portal-context.test.ts @@ -0,0 +1,67 @@ +import { describe, it, expect, vi, beforeEach } from "vitest"; +import { appRouter } from "../../root"; +import { cache } from "../../middleware/cache"; +import { db } from "@query/db"; + +const mockFindFirst = vi.fn(); + +vi.mock("@query/db", () => ({ + db: { + query: { + admins: { findFirst: (...args: unknown[]) => mockFindFirst("admins", ...args) }, + hackathons: { findFirst: (...args: unknown[]) => mockFindFirst("hackathons", ...args) }, + judges: { findFirst: (...args: unknown[]) => mockFindFirst("judges", ...args) }, + members: { findFirst: (...args: unknown[]) => mockFindFirst("members", ...args) }, + users: { findFirst: vi.fn() }, + }, + }, + admins: { userId: "user_id", isActive: "is_active" }, + members: { userId: "user_id", hackathonId: "hackathon_id" }, + judges: { userId: "user_id", isActive: "is_active" }, + hackathons: { startDate: "start_date" }, + users: { id: "id" }, + userProfiles: { userId: "user_id" }, +})); + +describe("user.getPortalContext", () => { + beforeEach(() => { + vi.clearAllMocks(); + cache.clear(); + }); + + const ctx = { + db, + session: { user: { id: "user-1" } }, + userId: "user-1", + cache, + clientIp: "127.0.0.1", + req: undefined, + }; + + it("returns combined role flags and caches the result", async () => { + mockFindFirst.mockImplementation((table: string) => { + if (table === "admins") return { role: "admin", permissions: [] }; + if (table === "hackathons") return { id: "hack-1" }; + if (table === "judges") return null; + if (table === "members") { + return { + isActive: true, + membershipEndDate: new Date(Date.now() + 86400000), + memberType: "new", + renewalCount: 0, + }; + } + return null; + }); + + const caller = appRouter.createCaller(ctx); + const first = await caller.user.getPortalContext(); + const second = await caller.user.getPortalContext(); + + expect(first.isAdmin).toBe(true); + expect(first.isJudge).toBe(false); + expect(first.member.isMember).toBe(true); + expect(second).toEqual(first); + expect(mockFindFirst).toHaveBeenCalledTimes(4); + }); +}); diff --git a/packages/api/src/services/portal-context.test.ts b/packages/api/src/services/portal-context.test.ts new file mode 100644 index 00000000..1de6c2ec --- /dev/null +++ b/packages/api/src/services/portal-context.test.ts @@ -0,0 +1,109 @@ +import { describe, it, expect, vi } from "vitest"; + +vi.mock("@query/db", () => ({ + admins: { userId: "user_id", isActive: "is_active" }, + members: { userId: "user_id", hackathonId: "hackathon_id" }, + judges: { userId: "user_id", isActive: "is_active" }, + hackathons: { startDate: "start_date" }, +})); + +vi.mock("drizzle-orm", () => ({ + eq: (...args: unknown[]) => args, + and: (...args: unknown[]) => args, +})); + +import { + buildMemberContext, + fetchPortalContext, +} from "./portal-context"; +import { EMPTY_MEMBER_CONTEXT } from "../types/portal-context"; + +describe("buildMemberContext", () => { + it("returns empty context when no member record", () => { + expect(buildMemberContext(null)).toEqual(EMPTY_MEMBER_CONTEXT); + expect(buildMemberContext(undefined)).toEqual(EMPTY_MEMBER_CONTEXT); + }); + + it("marks expired memberships inactive", () => { + const past = new Date("2020-01-01"); + const ctx = buildMemberContext({ + isActive: true, + membershipEndDate: past, + memberType: "continuous", + renewalCount: 1, + }); + expect(ctx.isMember).toBe(true); + expect(ctx.isActive).toBe(false); + expect(ctx.daysRemaining).toBeLessThan(0); + }); + + it("marks active memberships with days remaining", () => { + const future = new Date(Date.now() + 10 * 24 * 60 * 60 * 1000); + const ctx = buildMemberContext({ + isActive: true, + membershipEndDate: future, + memberType: "new", + renewalCount: 0, + }); + expect(ctx.isActive).toBe(true); + expect(ctx.daysRemaining).toBeGreaterThan(0); + }); +}); + +describe("fetchPortalContext", () => { + it("aggregates admin, judge, and member flags", async () => { + const future = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000); + const db = { + query: { + admins: { + findFirst: async () => ({ + role: "admin", + permissions: ["events"], + isActive: true, + }), + }, + hackathons: { + findFirst: async () => ({ id: "hack-1" }), + }, + judges: { + findFirst: async () => ({ id: "judge-1", name: "Alex Judge" }), + }, + members: { + findFirst: async () => ({ + isActive: true, + membershipEndDate: future, + memberType: "continuous", + renewalCount: 2, + }), + }, + }, + }; + + const result = await fetchPortalContext(db as never, "user-1"); + + expect(result.isAdmin).toBe(true); + expect(result.role).toBe("admin"); + expect(result.permissions).toEqual(["events"]); + expect(result.isJudge).toBe(true); + expect(result.judgeId).toBe("judge-1"); + expect(result.member.isMember).toBe(true); + expect(result.member.isActive).toBe(true); + }); + + it("returns defaults when user has no roles", async () => { + const db = { + query: { + admins: { findFirst: async () => null }, + hackathons: { findFirst: async () => null }, + judges: { findFirst: async () => null }, + members: { findFirst: async () => null }, + }, + }; + + const result = await fetchPortalContext(db as never, "user-2"); + + expect(result.isAdmin).toBe(false); + expect(result.isJudge).toBe(false); + expect(result.member).toEqual(EMPTY_MEMBER_CONTEXT); + }); +}); diff --git a/packages/api/src/services/portal-context.ts b/packages/api/src/services/portal-context.ts new file mode 100644 index 00000000..40a17071 --- /dev/null +++ b/packages/api/src/services/portal-context.ts @@ -0,0 +1,87 @@ +import { admins, members, judges } from "@query/db"; +import { eq, and } from "drizzle-orm"; +import type { DrizzleDB } from "@query/db"; +import { + EMPTY_MEMBER_CONTEXT, + type MemberContext, + type PortalContext, +} from "../types/portal-context"; + +function buildMemberContext( + memberRecord: { + isActive: boolean; + membershipEndDate: Date | null; + memberType: string | null; + renewalCount: number; + } | null | undefined, +): MemberContext { + if (!memberRecord) return EMPTY_MEMBER_CONTEXT; + + const now = new Date(); + const expiresAt = memberRecord.membershipEndDate; + const isActive = !!( + memberRecord.isActive && + expiresAt && + expiresAt > now + ); + + let daysRemaining: number | null = null; + if (expiresAt) { + daysRemaining = Math.ceil( + (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60 * 24), + ); + } + + return { + isMember: true, + isActive, + expiresAt, + daysRemaining, + memberType: memberRecord.memberType, + renewalCount: memberRecord.renewalCount, + }; +} + +/** Loads admin, judge, and member flags for the current user in one round-trip batch. */ +export async function fetchPortalContext( + db: DrizzleDB, + userId: string, +): Promise { + const [admin, latestHackathon, judgeRecord] = await Promise.all([ + db.query.admins.findFirst({ + where: and(eq(admins.userId, userId), eq(admins.isActive, true)), + }), + db.query.hackathons.findFirst({ + orderBy: (h, { desc: descFn }) => [descFn(h.startDate)], + columns: { id: true }, + }), + db.query.judges.findFirst({ + where: and(eq(judges.userId, userId), eq(judges.isActive, true)), + columns: { id: true, name: true }, + }), + ]); + + let member = EMPTY_MEMBER_CONTEXT; + + if (latestHackathon?.id) { + const memberRecord = await db.query.members.findFirst({ + where: and( + eq(members.userId, userId), + eq(members.hackathonId, latestHackathon.id), + ), + }); + member = buildMemberContext(memberRecord ?? null); + } + + return { + isAdmin: !!admin, + role: admin?.role ?? null, + permissions: admin?.permissions ?? [], + isJudge: !!judgeRecord, + judgeId: judgeRecord?.id ?? null, + judgeName: judgeRecord?.name ?? null, + member, + }; +} + +export { buildMemberContext }; diff --git a/packages/api/src/test/create-mock-context.ts b/packages/api/src/test/create-mock-context.ts new file mode 100644 index 00000000..72d1229f --- /dev/null +++ b/packages/api/src/test/create-mock-context.ts @@ -0,0 +1,29 @@ +import type { Context } from "../context"; +import { cache } from "../middleware/cache"; +import { db } from "@query/db"; + +type MockContextOptions = { + userId?: string; + clientIp?: string; + headers?: Record; +}; + +/** Builds a tRPC context for unit/integration tests. */ +export function createMockContext( + options: MockContextOptions = {}, +): Context { + const { userId, clientIp = "127.0.0.1", headers = {} } = options; + + return { + db, + session: userId ? { user: { id: userId } } : null, + userId, + cache, + clientIp, + req: { + headers: { + get: (name: string) => headers[name.toLowerCase()] ?? null, + }, + } as Context["req"], + }; +} diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index 8015f7b2..1ea177ad 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -3,16 +3,29 @@ import type { TRPCDefaultErrorShape } from "@trpc/server"; import superjson from "superjson"; import { ZodError } from "zod"; import type { Context } from "./context"; -import { rateLimit, RATE_LIMITS, sanitizeInput, logSecurityEvent, ddosProtection, validateRequestSize } from "./middleware/security"; - -export const errorFormatter = ({ shape, error }: { +import { + rateLimit, + RATE_LIMITS, + sanitizeInput, + logSecurityEvent, + ddosProtection, + validateRequestSize, +} from "./middleware/security"; + +export const errorFormatter = ({ + shape, + error, +}: { shape: TRPCDefaultErrorShape; error: TRPCError; }) => { - const isDev = process.env.NODE_ENV === 'development'; + const isDev = process.env.NODE_ENV === "development"; return { ...shape, - message: error.code === 'INTERNAL_SERVER_ERROR' && !isDev ? 'An unexpected error occurred' : shape.message, + message: + error.code === "INTERNAL_SERVER_ERROR" && !isDev + ? "An unexpected error occurred" + : shape.message, data: { ...shape.data, zodError: error.cause instanceof ZodError ? error.cause.flatten() : null, @@ -27,6 +40,7 @@ const t = initTRPC.context().create({ }); export const createTRPCRouter = t.router; +export const mergeRouters = t.mergeRouters; const requiresDb = t.middleware(async ({ ctx, next }) => { if (!ctx.db) { @@ -50,9 +64,9 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { if (rawInput != null) { if (!validateRequestSize(rawInput)) { logSecurityEvent({ - type: 'validation_error', + type: "validation_error", identifier: ctx.userId ?? ctx.clientIp, - details: 'Request payload too large', + details: "Request payload too large", }); throw new TRPCError({ code: "PAYLOAD_TOO_LARGE", @@ -66,10 +80,12 @@ const sanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { }); const enforceContentType = t.middleware(async ({ ctx, next, type }) => { - if (type === 'mutation' && ctx.req) { - const contentType = ctx.req.headers.get('content-type') || ''; - const isJson = contentType.toLowerCase().includes('application/json'); - const isMultipart = contentType.toLowerCase().includes('multipart/form-data'); + if (type === "mutation" && ctx.req) { + const contentType = ctx.req.headers.get("content-type") || ""; + const isJson = contentType.toLowerCase().includes("application/json"); + const isMultipart = contentType + .toLowerCase() + .includes("multipart/form-data"); if (contentType && !isJson && !isMultipart) { throw new TRPCError({ code: "BAD_REQUEST", @@ -80,38 +96,40 @@ const enforceContentType = t.middleware(async ({ ctx, next, type }) => { return next(); }); -const uploadSanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => { - // Allow up to 2MB for base64 image uploads - const rawInput = await getRawInput(); +const uploadSanitizeInputs = t.middleware( + async ({ next, ctx, getRawInput }) => { + // Allow up to 2MB for base64 image uploads + const rawInput = await getRawInput(); - if (rawInput && !validateRequestSize(rawInput, 2 * 1024 * 1024)) { - logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? ctx.clientIp, - details: 'Upload payload too large (max 2MB)', - }); - throw new TRPCError({ - code: "PAYLOAD_TOO_LARGE", - message: "Image payload is too large (>2MB)", - }); - } + if (rawInput && !validateRequestSize(rawInput, 2 * 1024 * 1024)) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? ctx.clientIp, + details: "Upload payload too large (max 2MB)", + }); + throw new TRPCError({ + code: "PAYLOAD_TOO_LARGE", + message: "Image payload is too large (>2MB)", + }); + } - // We intentionally skip the recursive `sanitizeInput` here because it truncates - // strings longer than 10,000 characters (base64 strings are much larger). - // The zod validator on the procedure will ensure it's a valid data URI structure. + // We intentionally skip the recursive `sanitizeInput` here because it truncates + // strings longer than 10,000 characters (base64 strings are much larger). + // The zod validator on the procedure will ensure it's a valid data URI structure. - const result = await next(); + const result = await next(); - if (!result.ok) { - logSecurityEvent({ - type: 'validation_error', - identifier: ctx.userId ?? 'unknown', - details: 'Upload Procedure failed', - }); - } + if (!result.ok) { + logSecurityEvent({ + type: "validation_error", + identifier: ctx.userId ?? "unknown", + details: "Upload Procedure failed", + }); + } - return result; -}); + return result; + }, +); /** * Surgical cache invalidation: each mutation path maps to the exact cache key @@ -120,50 +138,64 @@ const uploadSanitizeInputs = t.middleware(async ({ next, ctx, getRawInput }) => */ const CACHE_INVALIDATION_MAP: Record = { // Hackathon mutations — scope by what actually changed - "hackathon.register": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.updateParticipantStatus": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.batchUpdateParticipantStatus": ["hackathon:*:participants", "hackathon:*:analytics"], - "hackathon.scanParticipantPass": ["hackathon:*:participants"], - "hackathon.create": ["hackathons:list"], - "hackathon.update": ["hackathons:list", "hackathon:*"], - "hackathon.delete": ["hackathons:list", "hackathon:*"], - "hackathon.createEvent": ["hackathon:*:events"], - "hackathon.updateEvent": ["hackathon:*:events"], - "hackathon.deleteEvent": ["hackathon:*:events"], + "hackathon.register": ["hackathon:*:participants", "hackathon:*:analytics"], + "hackathon.updateParticipantStatus": [ + "hackathon:*:participants", + "hackathon:*:analytics", + ], + "hackathon.batchUpdateParticipantStatus": [ + "hackathon:*:participants", + "hackathon:*:analytics", + ], + "hackathon.scanParticipantPass": ["hackathon:*:participants"], + "hackathon.create": ["hackathons:list"], + "hackathon.update": ["hackathons:list", "hackathon:*"], + "hackathon.delete": ["hackathons:list", "hackathon:*"], + "hackathon.createEvent": ["hackathon:*:events"], + "hackathon.updateEvent": ["hackathon:*:events"], + "hackathon.deleteEvent": ["hackathon:*:events"], // Judge mutations — only invalidate judging-related keys - "judge.submitVote": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.completeAndNext": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.toggleJudging": ["hackathon:*"], - "judge.assignJudgesToProjects": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], - "judge.assignToHackathon": ["judge:*"], + "judge.submitVote": ["hackathon:*:rankings", "hackathon:*:judge-analytics"], + "judge.completeAndNext": [ + "hackathon:*:rankings", + "hackathon:*:judge-analytics", + ], + "judge.toggleJudging": ["hackathon:*"], + "judge.assignJudgesToProjects": [ + "hackathon:*:rankings", + "hackathon:*:judge-analytics", + ], + "judge.assignToHackathon": ["judge:*"], // Member mutations - "member.update": ["member:*", "user:*:profile"], + "member.update": ["member:*", "user:*:profile"], // Stripe — invalidate member status after linking - "stripe.attemptAutoLink": ["member:*"], - "stripe.linkAccount": ["member:*"], + "stripe.attemptAutoLink": ["member:*"], + "stripe.linkAccount": ["member:*"], // Events (club check-ins) - "events.create": ["events:list"], - "events.delete": ["events:list"], - "events.toggleCheckIn": ["events:list"], - "events.checkIn": ["events:list", "member:*"], + "events.create": ["events:list"], + "events.delete": ["events:list"], + "events.toggleCheckIn": ["events:list"], + "events.checkIn": ["events:list", "member:*"], }; -const cacheInvalidationMiddleware = t.middleware(async ({ ctx, next, type, path }) => { - const result = await next(); - - if (type === 'mutation' && result.ok) { - const patterns = CACHE_INVALIDATION_MAP[path]; - if (patterns) { - for (const pattern of patterns) ctx.cache.deletePattern(pattern); - } else { - // Fallback: evict the whole namespace (safe but broad) - const namespace = path.split('.')[0]; - if (namespace) ctx.cache.deletePattern(`${namespace}:*`); +const cacheInvalidationMiddleware = t.middleware( + async ({ ctx, next, type, path }) => { + const result = await next(); + + if (type === "mutation" && result.ok) { + const patterns = CACHE_INVALIDATION_MAP[path]; + if (patterns) { + for (const pattern of patterns) ctx.cache.deletePattern(pattern); + } else { + // Fallback: evict the whole namespace (safe but broad) + const namespace = path.split(".")[0]; + if (namespace) ctx.cache.deletePattern(`${namespace}:*`); + } } - } - return result; -}); + return result; + }, +); export const publicProcedure = t.procedure .use(sanitizeInputs) @@ -180,13 +212,19 @@ export const publicProcedure = t.procedure const identifier = ctx.userId || `ip-${ctx.clientIp}`; const config = RATE_LIMITS.public; - const tokens = type === 'mutation' ? config.mutationTokens : config.queryTokens; + const tokens = + type === "mutation" ? config.mutationTokens : config.queryTokens; - const result = rateLimit(identifier, config.maxTokens, config.refillRate, tokens); + const result = rateLimit( + identifier, + config.maxTokens, + config.refillRate, + tokens, + ); if (!result.allowed) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier, details: `Public ${type} blocked, retry after ${result.retryAfter}s`, }); @@ -206,13 +244,19 @@ const isAuthed = t.middleware(async ({ ctx, next, type }) => { } const config = RATE_LIMITS.authenticated; - const tokens = type === 'mutation' ? config.mutationTokens : config.queryTokens; + const tokens = + type === "mutation" ? config.mutationTokens : config.queryTokens; - const result = rateLimit(`auth-${ctx.userId}`, config.maxTokens, config.refillRate, tokens); + const result = rateLimit( + `auth-${ctx.userId}`, + config.maxTokens, + config.refillRate, + tokens, + ); if (!result.allowed) { logSecurityEvent({ - type: 'rate_limit', + type: "rate_limit", identifier: ctx.userId, details: `Authenticated ${type} blocked, retry after ${result.retryAfter}s`, }); diff --git a/packages/api/src/types/portal-context.ts b/packages/api/src/types/portal-context.ts new file mode 100644 index 00000000..b62a62fc --- /dev/null +++ b/packages/api/src/types/portal-context.ts @@ -0,0 +1,27 @@ +export type MemberContext = { + isMember: boolean; + isActive: boolean | null; + expiresAt: Date | null; + daysRemaining: number | null; + memberType: string | null; + renewalCount: number; +}; + +export type PortalContext = { + isAdmin: boolean; + role: string | null; + permissions: string[]; + isJudge: boolean; + judgeId: string | null; + judgeName: string | null; + member: MemberContext; +}; + +export const EMPTY_MEMBER_CONTEXT: MemberContext = { + isMember: false, + isActive: false, + expiresAt: null, + daysRemaining: null, + memberType: null, + renewalCount: 0, +}; diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index d7d67135..0077a323 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "@query/tsconfig/base.json", + "extends": "../../tooling/typescript/base.json", "compilerOptions": { "outDir": "dist", "rootDir": "src" }, "include": ["src", "src/.internal-tests/**/*.ts"], "exclude": ["node_modules", "dist"] -} \ No newline at end of file +} diff --git a/packages/api/vitest.config.ts b/packages/api/vitest.config.ts index 55a658e9..f30f2012 100644 --- a/packages/api/vitest.config.ts +++ b/packages/api/vitest.config.ts @@ -1,11 +1,34 @@ -import { defineConfig } from 'vitest/config'; -import { resolve } from 'path'; +import { defineConfig } from "vitest/config"; +import { resolve } from "path"; + +const pkg = (name: string) => resolve(__dirname, "node_modules", name); export default defineConfig({ test: { - include: ['src/.internal-tests/**/*.test.ts'], + include: [ + "src/**/*.test.ts", + "src/.internal-tests/**/*.test.ts", + ], + server: { + deps: { + inline: [ + "drizzle-orm", + "@trpc/server", + "superjson", + "zod", + "@query/db", + ], + }, + }, + }, + resolve: { alias: { - '@query/db': resolve(__dirname, '../db/src/index.ts'), + "@query/db": resolve(__dirname, "../db/src/index.ts"), + "@query/auth/email": resolve(__dirname, "../auth/src/email.ts"), + "drizzle-orm": pkg("drizzle-orm"), + "@trpc/server": pkg("@trpc/server"), + superjson: pkg("superjson"), + zod: pkg("zod"), }, }, }); diff --git a/packages/auth/package.json b/packages/auth/package.json index caa6cd5c..3368f0a3 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -5,7 +5,8 @@ "main": "./src/index.ts", "types": "./src/index.ts", "exports": { - ".": "./src/index.ts" + ".": "./src/index.ts", + "./email": "./src/email.ts" }, "scripts": { "lint": "eslint .", diff --git a/packages/auth/src/adapter.ts b/packages/auth/src/adapter.ts index 7d82e8a7..10457f6e 100644 --- a/packages/auth/src/adapter.ts +++ b/packages/auth/src/adapter.ts @@ -22,7 +22,7 @@ function createAdapter(): Adapter | undefined { return { ...baseAdapter, createVerificationToken: async ( - token: VerificationToken + token: VerificationToken, ): Promise => { if (!db) throw new Error("Database not available"); // Convert expires to ISO string for reliable Postgres timestamp handling @@ -46,7 +46,11 @@ function createAdapter(): Adapter | undefined { if (result.rowCount === 0) { return null; } - const row = result.rows[0] as { identifier: string; token: string; expires: string | Date }; + const row = result.rows[0] as { + identifier: string; + token: string; + expires: string | Date; + }; return { identifier: row.identifier, token: row.token, @@ -59,4 +63,4 @@ function createAdapter(): Adapter | undefined { } } -export const adapter: Adapter | undefined = createAdapter(); \ No newline at end of file +export const adapter: Adapter | undefined = createAdapter(); diff --git a/packages/auth/src/auth.ts b/packages/auth/src/auth.ts index 9160fcba..33e5ae36 100644 --- a/packages/auth/src/auth.ts +++ b/packages/auth/src/auth.ts @@ -11,4 +11,4 @@ export const { handlers, auth, signIn, signOut } = NextAuth({ ...authConfig, adapter, session: sessionConfig, -}); \ No newline at end of file +}); diff --git a/packages/auth/src/config.ts b/packages/auth/src/config.ts index 55621866..c1bf60a8 100644 --- a/packages/auth/src/config.ts +++ b/packages/auth/src/config.ts @@ -38,12 +38,12 @@ function html(params: { code: string; host: string }) { ${code - .split("") - .map( - (d) => - `` - ) - .join("")} + .split("") + .map( + (d) => + ``, + ) + .join("")}
${d}
${d}
@@ -131,7 +131,9 @@ export const authConfig: NextAuthConfig = { throw new Error(`Email(s) could not be sent`); } } catch { - throw new Error("Failed to send verification email. Please try again later."); + throw new Error( + "Failed to send verification email. Please try again later.", + ); } }, }), @@ -148,7 +150,7 @@ export const authConfig: NextAuthConfig = { // Add judge status to session for easier client-side checks const judge = await db.query.judges.findFirst({ - where: (j, { eq }) => eq(j.userId, user.id) + where: (j, { eq }) => eq(j.userId, user.id), }); // @ts-expect-error - custom property session.user.isJudge = !!judge; @@ -156,7 +158,11 @@ export const authConfig: NextAuthConfig = { return session; }, async redirect({ url, baseUrl }) { - return url.startsWith("/") ? `${baseUrl}${url}` : (new URL(url).origin === baseUrl ? url : baseUrl); + return url.startsWith("/") + ? `${baseUrl}${url}` + : new URL(url).origin === baseUrl + ? url + : baseUrl; }, }, session: { @@ -165,4 +171,4 @@ export const authConfig: NextAuthConfig = { updateAge: 24 * 60 * 60, }, debug: process.env.NODE_ENV === "development", -}; \ No newline at end of file +}; diff --git a/packages/auth/src/email.ts b/packages/auth/src/email.ts new file mode 100644 index 00000000..5a359a93 --- /dev/null +++ b/packages/auth/src/email.ts @@ -0,0 +1,79 @@ +import nodemailer from "nodemailer"; + +export async function sendAcceptanceEmail({ + email, + hackathonName, + host = "https://datasciencegt.org" +}: { + email: string; + hackathonName: string; + host?: string; +}) { + const transporter = nodemailer.createTransport({ + host: process.env.EMAIL_SERVER_HOST, + port: Number(process.env.EMAIL_SERVER_PORT || "587"), + auth: { + user: process.env.EMAIL_SERVER_USER, + pass: process.env.EMAIL_SERVER_PASSWORD, + }, + pool: true, + }); + + const mainColor = "#10b981"; + const backgroundColor = "#0f172a"; + const textColor = "#f8fafc"; + + const safeHackathonName = hackathonName + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + + const safeHost = host + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + + const html = ` + + + + + + + + + + + +
+
+

DataScienceGT

+
+

You're Accepted!

+

+ Congratulations! You have been accepted to participate in ${safeHackathonName}. +

+

+ Head over to the Hackathon Hub to view the event details, find a team, and get ready to build! +

+ +
+ © ${new Date().getFullYear()} Data Science at Georgia Tech +
+ + `; + + await transporter.sendMail({ + from: process.env.EMAIL_FROM || "noreply@datasciencegt.org", + to: email, + subject: `You're accepted to ${hackathonName}!`, + text: `Congratulations! You have been accepted to participate in ${hackathonName}. Head over to ${host}/hackathons to view the details.`, + html, + }); +} diff --git a/packages/auth/src/index.ts b/packages/auth/src/index.ts index 4d219256..4cf48062 100644 --- a/packages/auth/src/index.ts +++ b/packages/auth/src/index.ts @@ -1,4 +1,5 @@ export { auth, signIn, signOut, handlers } from "./auth"; export { authConfig } from "./config"; export { adapter } from "./adapter"; -export { getSession, requireAuth, getCurrentUserId } from "./utils"; \ No newline at end of file +export { getSession, requireAuth, getCurrentUserId } from "./utils"; +export { sendAcceptanceEmail } from "./email"; diff --git a/packages/auth/src/utils.ts b/packages/auth/src/utils.ts index 8f0cadf0..2175db8b 100644 --- a/packages/auth/src/utils.ts +++ b/packages/auth/src/utils.ts @@ -19,4 +19,4 @@ export async function getCurrentUserId(): Promise { throw new Error("User ID not found in session"); } return userId; -} \ No newline at end of file +} diff --git a/packages/auth/tsconfig.json b/packages/auth/tsconfig.json index 558184a4..f5486052 100644 --- a/packages/auth/tsconfig.json +++ b/packages/auth/tsconfig.json @@ -9,4 +9,4 @@ }, "include": ["src/**/*.ts"], "exclude": ["node_modules", "dist"] -} \ No newline at end of file +} diff --git a/packages/consts/package.json b/packages/consts/package.json index f0b8d061..3ea7bba3 100644 --- a/packages/consts/package.json +++ b/packages/consts/package.json @@ -1,10 +1,10 @@ { - "name": "@query/consts", - "version": "0.0.0", - "private": true, - "main": "./index.ts", - "types": "./index.ts", - "exports": { - ".": "./index.ts" - } -} \ No newline at end of file + "name": "@query/consts", + "version": "0.0.0", + "private": true, + "main": "./index.ts", + "types": "./index.ts", + "exports": { + ".": "./index.ts" + } +} diff --git a/packages/db/.cache/tsbuildinfo.json b/packages/db/.cache/tsbuildinfo.json index 2ce59557..01e85af2 100644 --- a/packages/db/.cache/tsbuildinfo.json +++ b/packages/db/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.11.3_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/types.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/general/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/general/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/compact/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/flattened/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/general/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/verify.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/decrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/produce.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/compact/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/flattened/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jws/general/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/sign.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/encrypt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwk/thumbprint.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwk/embedded.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwks/local.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwks/remote.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/jwt/unsecured.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/export.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/import.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/decode_protected_header.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/decode_jwt.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/errors.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/generate_key_pair.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/key/generate_secret.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/base64url.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/util/runtime.d.ts","../../../node_modules/.pnpm/jose@4.15.9/node_modules/jose/dist/types/index.d.ts","../../../node_modules/.pnpm/openid-client@5.7.1/node_modules/openid-client/types/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/oauth-types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/oauth.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/email.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/builtin-request-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/webpack/webpack.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/entry-constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/bundler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/load-custom-routes.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/get-page-files.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/canary.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/experimental.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/index.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/canary.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/experimental.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/fallback.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-http/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/api-utils/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-baseline.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/random.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/date.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-environment.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/require-hook.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/node-polyfill-crypto.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/page-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/analysis/get-page-static-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cache-control.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/app-router-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-kind.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/response-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cache-handlers/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/vary-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/search-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/constants.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/app-router-headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/render-result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/body-streams.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matches/route-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/response-cache/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/static-paths/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/instrumentation/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/setup-exception-listeners.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/experimental/ppr.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/page-extensions-type.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/deep-readonly.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/incremental-cache/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/mitt.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/with-router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/route-loader.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/page-loader.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/bloom-filter.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/readonly-url-search-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/flight-data-helpers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/segment-cache/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/pages.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/render.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matchers/route-matcher.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/suffix.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/rsc.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/next-data.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/load-default-error-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/after.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/after-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/cache-life.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/lazy-result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/create-error-handler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/async-storage/work-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/http.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/hooks-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect-status-code.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/cache-signal.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/implicit-tags.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/staged-rendering.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/app-route.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/app/app-segments.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/get-supported-browsers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/rendering-mode.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/cpu-profile.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/result.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/turborepo-access-trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/routes/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/export/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/coalesced-function.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/trace.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/trace/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/load-jsconfig.d.ts","../../../node_modules/.pnpm/@next+env@16.2.3/node_modules/@next/env/dist/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/telemetry/storage.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/build-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/generated-native.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/define-env.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/swc/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/parse-version-info.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/shared/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/parse-stack.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/server/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/debug-channel.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/hot-reloader-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/lru-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/dev-bundler-service.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/base-http/node.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/render-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/route-module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/load-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/adapter.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/app-dir-module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/app-render.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/layout-router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/render-from-template-context.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/client-page.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/client-segment.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/extra-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/resolvers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/types/icons.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/metadata/metadata.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/lib/framework/boundary-components.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/preloads.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/postpone.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/rsc/taint.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/collect-segment-data.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/app-render/entry-base.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/templates/app-page.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-dev-runtime.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/compiler-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/client.d.ts","../../../node_modules/.pnpm/@types+react-dom@19.0.3_@types+react@19.1.3/node_modules/@types/react-dom/server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/route-modules/app-page/module.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/fallback-params.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/image-response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/after/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/connection.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/exports/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request-meta.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/i18n-provider.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/next-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/response.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/lib/async-callback-set.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","../../../node_modules/.pnpm/sharp@0.34.5/node_modules/sharp/lib/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/image-optimizer.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/next-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/static-paths-worker.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/dev/next-dev-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/next.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/build/adapter/build-complete.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/utils.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/cli/next-test.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/size-limit.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/config-shared.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/request.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/compiled/@vercel/og/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/css.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/macro.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/style.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/styled-jsx/types/index.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_app.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/app.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/use-cache/cache-tag.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/cache.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_document.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/document.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dynamic.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/pages/_error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/catch-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/api/error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/head.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/head.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/cookies.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/server/request/draft-mode.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/headers.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/get-img-props.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/image-component.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/shared/lib/image-external.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/image.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/link.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/link.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unrecognized-action-error.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/redirect.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/not-found.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/forbidden.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unauthorized.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/unstable-rethrow.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/navigation.react-server.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/components/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/navigation.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/router.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/dist/client/script.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/script.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types/global.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types/compiled.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/types.d.ts","../../../node_modules/.pnpm/next@16.2.3_babel-plugin-re_f6d60686551e9884894d40c527723040/node_modules/next/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/lib/cookie.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/credentials.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/providers/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/jwt/types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/jwt/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/utils/logger.d.ts","../../../node_modules/.pnpm/@types+cookie@0.6.0/node_modules/@types/cookie/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/core/types.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/next/index.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@4.24.14_next@16.2_e3649e7871f0e3f34b34b2514a5e70a9/node_modules/next-auth/adapters.d.ts","../src/schemas/auth.ts","../src/schemas/members.ts","../src/schemas/hackathons.ts","../src/schemas/admins.ts","../src/schemas/events.ts","../src/schemas/judge.ts","../src/schemas/stripe.ts","../src/schemas/security.ts","../src/schemas/index.ts","../src/client.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-core/dist/standard.d.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-core/dist/index.d.ts","../../../node_modules/.pnpm/@t3-oss+env-nextjs@0.13.10_typescript@5.8.3_zod@3.25.53/node_modules/@t3-oss/env-nextjs/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../src/env.ts","../src/index.ts","../../../node_modules/.pnpm/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/use-at-your-own-risk.d.ts","../../../node_modules/.pnpm/@types+eslint@9.6.1/node_modules/@types/eslint/index.d.ts","../../../node_modules/.pnpm/@types+eslint__js@8.42.3/node_modules/@types/eslint__js/index.d.ts"],"fileIdsList":[[65,107,872,880],[65,107,863,864,865,866,867,869,872,880,881],[65,107,869,872],[65,107,863],[65,107],[65,107,872],[65,107,868,872],[65,107,862,868],[65,107,861,870,872,881],[65,107,872,874,880],[65,107,872,876,877,880],[65,107,870,872,875,878,879],[65,107,872,878],[65,107,860,863,868,872,876,880],[65,107,859,860,861,862,868,869,871,880],[65,107,893],[65,107,894],[65,107,912,913,914],[65,107,915],[65,104,107],[65,106,107],[107],[65,107,112,142],[65,107,108,113,119,120,127,139,150],[65,107,108,109,119,127],[60,61,62,65,107],[65,107,110,151],[65,107,111,112,120,128],[65,107,112,139,147],[65,107,113,115,119,127],[65,106,107,114],[65,107,115,116],[65,107,117,119],[65,106,107,119],[65,107,119,120,121,139,150],[65,107,119,120,121,134,139,142],[65,102,107],[65,102,107,115,119,122,127,139,150],[65,107,119,120,122,123,127,139,147,150],[65,107,122,124,139,147,150],[63,64,65,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,119,125],[65,107,126,150],[65,107,115,119,127,139],[65,107,128],[65,107,129],[65,106,107,130],[65,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,132],[65,107,133],[65,107,119,134,135],[65,107,134,136,151,153],[65,107,119,139,140,142],[65,107,141,142],[65,107,139,140],[65,107,142],[65,107,143],[65,104,107,139],[65,107,119,145,146],[65,107,145,146],[65,107,112,127,139,147],[65,107,148],[65,107,127,149],[65,107,122,133,150],[65,107,112,151],[65,107,139,152],[65,107,126,153],[65,107,154],[65,107,119,121,130,139,142,150,153,155],[65,107,139,156],[65,107,164],[65,107,119,139,147,157,158,159,162,163,164],[65,107,516,519,521],[65,107,516],[65,107,516,517,518,519,520,787,797,802],[65,107,516,759],[65,107,516,518,521,787,797,802],[65,107,516,517,521,787,797,802],[65,107,514,515],[65,107,166,170,173,219,457],[65,107,166,218,461],[65,107,462],[65,107,166,174,457],[65,107,166,173,174,243,298,369,421,455,457],[65,107,166,170,173,174,456],[65,107,166],[65,107,212,217,239],[65,107,166,182,212],[65,107,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,215],[65,107,166,185,214,456,457],[65,107,166,214,456,457],[65,107,166,173,174,207,212,213,456,457],[65,107,166,173,174,212,214,456,457],[65,107,166,214,456],[65,107,166,212,214,456,457],[65,107,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,214,215],[65,107,166,184,214,456],[65,107,166,196,214,456,457],[65,107,166,196,212,214,456,457],[65,107,166,169,173,174,179,212,216,217,219,221,224,225,226,228,234,235,239,462],[65,107,166,173,174,212,216,219,234,238,239],[65,107,166,212,216],[65,107,183,184,207,208,209,210,211,212,213,216,226,227,228,234,235,237,238,240,241,242],[65,107,166,173,212,216],[65,107,166,173,208,212],[65,107,166,173,212,228],[65,107,166,169,172,173,212,222,223,228,235,239],[65,107,229,230,231,232,233,236,239],[65,107,166,169,170,172,173,179,207,212,214,222,223,228,230,235,236,239],[65,107,166,169,173,179,216,226,233,235,239],[65,107,166,173,174,212,219,222,223,228,235],[65,107,166,173,220,222,223],[65,107,166,173,222,223,228,235,238],[65,107,166,169,172,173,174,179,212,216,217,218,222,223,226,228,235,239],[65,107,169,170,171,172,173,174,179,212,216,217,228,233,238],[65,107,166,169,170,172,173,174,212,214,217,222,223,228,235,239,457],[65,107,166,173,184,212],[65,107,166,174,182,218,219,220,227,235,239,462],[65,107,169,172,173],[65,107,166,170,183,206,207,209,210,211,213,214,456],[65,107,169,173,183,207,209,210,211,212,213,216,217,238,243,456,457],[65,107,166,173],[65,107,166,172,173,174,179,214,217,236,237,456],[65,107,166,167,169,170,171,174,182,219,222,456,457,458,459,460],[65,107,273,281,294],[65,107,166,173,273],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,276],[65,107,166,275,456,457],[65,107,166,174,275,456,457],[65,107,166,173,174,273,274,456,457],[65,107,166,173,174,273,275,456,457],[65,107,166,174,273,275,456,457],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,275,276],[65,107,166,255,275,456,457],[65,107,166,174,263,456,457],[65,107,166,169,173,174,219,273,280,281,286,287,288,289,291,294,462],[65,107,166,173,174,219,273,275,278,279,284,285,291,294],[65,107,166,273,277],[65,107,244,270,271,272,273,274,277,280,286,288,290,291,292,293,295,296,297],[65,107,166,173,273,277],[65,107,166,173,273,281,291],[65,107,166,169,173,174,222,273,275,286,291,294],[65,107,279,282,283,284,285,294],[65,107,166,170,173,179,218,222,223,273,275,283,284,286,291,294],[65,107,166,169,280,282,286,294],[65,107,166,173,174,219,222,273,286,291],[65,107,166,169,172,173,174,179,218,222,270,273,277,280,281,286,291,294],[65,107,169,170,171,172,173,174,179,273,277,281,282,291,293],[65,107,166,169,173,174,218,222,273,275,286,291,294,457],[65,107,166,273,293],[65,107,166,173,174,218,219,286,290,294,462],[65,107,169,172,173,179,283],[65,107,166,170,244,269,270,271,272,274,275,456],[65,107,169,244,270,271,272,273,274,281,282,293,298,461],[65,107,166,172,173,179,277,281,283,292,456],[65,107,165,166,167,174,219,352,359,462,463],[65,107,463,464],[65,107,165,166,167,173,174,218,219,353,359,363,369,407],[65,107,169,170,173,457],[65,107,340,346,363],[65,107,166,182,340],[65,107,300,301,302,303,304,306,307,308,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,343],[65,107,166,310,342,456,457],[65,107,166,342,456,457],[65,107,166,174,342,456,457],[65,107,166,173,174,335,340,341,456,457],[65,107,166,173,174,340,342,456,457],[65,107,166,342,456],[65,107,166,174,305,342,456,457],[65,107,166,174,340,342,456,457],[65,107,300,301,302,303,304,306,307,308,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,342,343,344],[65,107,166,309,342,456],[65,107,166,312,342,456,457],[65,107,166,340,342,456,457],[65,107,166,305,312,340,342,456,457],[65,107,166,174,305,340,342,456,457],[65,107,166,169,173,174,219,340,345,346,347,348,349,350,351,353,358,359,362,363,462],[65,107,166,173,174,219,278,340,345,353,358,362,363],[65,107,166,340,345],[65,107,299,309,335,336,337,338,339,340,341,345,351,352,353,358,359,361,362,364,365,366,368],[65,107,166,173,340,345],[65,107,166,173,336,340],[65,107,166,173,174,340,353],[65,107,166,169,172,173,179,218,222,223,340,353,359,363],[65,107,350,354,355,356,357,360,363],[65,107,166,169,170,172,173,179,218,222,223,335,340,342,353,355,359,360,363],[65,107,166,169,173,345,351,357,359,363],[65,107,166,173,174,219,222,223,340,353,359],[65,107,166,173,222,223,353,359,362],[65,107,166,169,172,173,174,179,218,222,223,340,345,346,351,353,359,363],[65,107,169,170,171,172,173,174,179,340,345,346,353,357,362],[65,107,166,169,170,172,173,174,179,218,222,223,340,342,346,353,359,363,457],[65,107,166,173,174,309,340,344,362],[65,107,166,174,182,218,219,220,352,359,363,462],[65,107,169,172,173,179,360],[65,107,166,170,299,334,335,337,338,339,341,342,456],[65,107,169,173,299,335,337,338,339,340,341,345,346,362,369,456,457],[65,107,367],[65,107,166,172,173,174,179,342,346,360,361,456],[65,107,166,182],[65,107,169,170,171,173,174,456,457],[65,107,166,170,173,174,177,457,461],[65,107,456],[65,107,461],[65,107,399,417],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,401],[65,107,166,400,456,457],[65,107,166,174,400,456,457],[65,107,166,174,399,456,457],[65,107,166,173,174,399,400,456,457],[65,107,166,174,399,400,456,457],[65,107,166,174,182,400,456,457],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,400,401],[65,107,166,380,400,456,457],[65,107,166,174,388,456,457],[65,107,166,169,173,219,399,406,409,410,411,414,416,417,462],[65,107,166,173,174,219,278,399,400,403,404,405,416,417],[65,107,396,397,398,399,402,406,411,414,415,416,418,419,420],[65,107,166,173,399,402],[65,107,166,399,402],[65,107,166,173,399,416],[65,107,166,169,173,174,222,399,400,406,416,417],[65,107,403,404,405,412,413,417],[65,107,166,170,173,222,223,399,400,404,406,416,417],[65,107,166,169,406,411,412,417],[65,107,166,169,172,173,174,179,218,222,399,402,406,411,416,417],[65,107,169,170,171,172,173,174,179,399,402,412,416],[65,107,166,169,173,174,222,399,400,406,416,417,457],[65,107,166,399],[65,107,166,173,174,218,219,406,415,417,462],[65,107,169,172,173,179,413],[65,107,166,170,395,396,397,398,400,456],[65,107,169,173,396,397,398,399,421,456,457],[65,107,166,167,174,219,406,408,415,462],[65,107,166,167,173,174,218,219,406,407,416,417],[65,107,173,457],[65,107,175,176],[65,107,178,180],[65,107,173,179,457],[65,107,173,177,181],[65,107,166,168,169,170,172,174,457],[65,107,427,448,453],[65,107,166,173,448],[65,107,423,443,444,445,446,451],[65,107,166,174,450,456,457],[65,107,166,173,174,448,449,456,457],[65,107,166,173,174,448,450,456,457],[65,107,423,443,444,445,446,450,451],[65,107,166,174,442,448,450,456,457],[65,107,166,450,456,457],[65,107,166,174,448,450,456,457],[65,107,166,169,173,174,219,427,428,429,430,433,438,439,448,453,462],[65,107,166,173,174,219,278,433,438,448,452,453],[65,107,166,448,452],[65,107,422,424,425,426,430,431,433,438,439,441,442,448,449,452,454],[65,107,166,173,448,452],[65,107,166,173,433,441,448],[65,107,166,169,172,173,174,222,223,433,439,448,450,453],[65,107,434,435,436,437,440,453],[65,107,166,169,172,173,174,179,222,223,424,433,435,439,440,448,450,453],[65,107,166,169,430,437,439,453],[65,107,166,173,174,219,222,223,433,439,448],[65,107,166,173,220,222,223,439],[65,107,166,169,172,173,174,179,218,222,223,427,430,433,439,448,452,453],[65,107,169,170,171,172,173,174,179,427,433,437,441,448,452],[65,107,166,169,172,173,174,222,223,427,433,439,448,450,453,457],[65,107,166,173,218,219,220,222,431,432,439,453,462],[65,107,169,172,173,179,440],[65,107,166,170,422,424,425,426,447,449,450,456],[65,107,166,448,450],[65,107,169,173,422,424,425,426,427,441,448,449,455],[65,107,166,172,173,179,427,440,450,456],[65,107,166,171,173,174,457],[65,107,167,170,173,457,462],[65,107,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497],[65,107,466],[65,107,466,476],[65,107,858,881],[65,107,848,856],[65,107,798,847,856,858],[65,107,499,851,853,854,855,882],[65,107,849,856,857],[65,107,798,847,852,858],[65,107,157,858],[65,107,849,851,858],[65,107,851,856,858],[65,107,501,502,850],[65,107,498,499,500,851,858],[65,107,804],[65,107,806,807,808,809],[65,107,729,815,816],[65,107,507,508,510,544,545,669,680,792],[65,107,510,539,540,541,543,792],[65,107,510,524,686,688,690,691,693,792],[65,107,510,542,588,792],[65,107,508,510,524,545,557,558,566,571,668,669,670,679,792],[65,107,792],[65,107,540,547,551,574,665],[65,107,510],[65,107,522,547,551],[65,107,697],[65,107,694,695,697],[65,107,694,696,792],[65,107,122,574,753,770],[65,107,122,639,642,660,665,770],[65,107,122,612,770],[65,107,673],[65,107,672,673,674],[65,107,672],[65,107,122,510,513,522,536,537,540,544,545,557,566,572,573,634,666,667,680,787,792],[65,107,507,510,542,588,686,687,692,792,845],[65,107,542,845],[65,107,507,573,724,792,845],[65,107,845],[65,107,510,542,543,845],[65,107,689,845],[65,107,537,668,671,678],[65,107,516,729],[65,107,133,551,564],[65,107,551,564],[65,107,516,609],[65,107,516,564],[65,107,516,547,564,729],[65,107,551,595,609,610,831,838],[65,107,594,832,833,834,835,837],[65,107,644],[65,107,644,645],[65,107,547,558,597,598],[65,107,547,604,605],[65,107,547,599,607],[65,107,604],[65,107,546,547,597,598,599,600,601,602,603,604,607],[65,107,547,597,604,605,606,608],[65,107,547,598,600,601],[65,107,598,600,603,605],[65,107,836],[65,107,547],[65,107,511,516,825],[65,107,150,516],[65,107,516,542,586],[65,107,516,542,680],[65,107,584,589],[65,107,516,585,789],[65,107,122,516,517,518,521,787,796,802],[65,107,122,547],[65,107,122,523,545,556,615,631,675,676,680,721,723,792],[65,107,536,677],[65,107,787],[65,107,509],[65,107,516,551,553,726,742,744],[65,107,133,551,726,741,742,743,844],[65,107,735,736,737,738,739,740],[65,107,737],[65,107,741],[65,107,564,704,705,707],[65,107,516,547,698,699,700,701,706],[65,107,704,706],[65,107,702],[65,107,703],[65,107,516,564,585,789],[65,107,516,564,788,789],[65,107,516,564,789],[65,107,631,632],[65,107,632],[65,107,122,523,789],[65,107,663],[65,106,107,662],[65,107,523,547,551,559,563,639,654,658,660,723,726,762,763,770],[65,107,547,579,601],[65,107,639,652,655,660],[65,107,516,551,553,639,642,660,663,697,730,731,732,733,734,745,746,747,748,749,750,751,752,845],[65,107,540,551,553,639,648,649,650,653,654],[65,107,139,540,547,652,659,726,727,770],[65,107,656],[65,107,122,133,511,523,524,547,556,569,576,577,580,631,634,701,721,722,762,787,792,845],[65,107,546,551,553],[65,107,639],[65,106,107,523,540,576,577,633,634,635,636,637,638],[65,107,660],[65,106,107,551,552,556,563,639,647,648,649,650,651,652,655,656,657,658,659,763],[65,107,122,523,524,647,648,793],[65,107,523,540,577,631,634,639,723],[65,107,122,524,792],[65,107,122,139,523,524,770],[65,107,122,133,503,522,523,524,542,545,551,559,563,566,569,576,577,578,579,580,615,616,618,621,623,626,627,628,630,680,721,723,770,771,792],[65,107,122,139],[65,107,510,511,512,572,770,787,789,790,791,845],[65,107,507,508,792],[65,107,709],[65,107,122,139,150,561,693,697,698,699,700,701,707,708,845],[65,107,133,150,522,551,561,563,566,577,616,621,630,631,686,712,713,721,723,770,775,776,782,783,792],[65,107,536,537,566,572,577,634,792],[65,107,122,150,511,545,563,577,770,780,792],[65,107,725],[65,107,122,709,710,711,718],[65,107,770,792],[65,107,636,763],[65,107,563,576,680,789],[65,107,122,133,509,621,682,686,712,713,770,782,785],[65,107,122,536,537,686,714],[65,107,510,524,578,680,716,792],[65,107,122,150,701,792],[65,107,122,542,578,680,681,682,691,709,715,717,792],[65,107,122,513,576,720,787,789],[65,107,629,721],[65,107,122,133,503,536,537,544,545,547,551,559,562,563,569,577,580,616,618,630,631,680,713,721,723,770,775,776,777,779,781,789],[65,107,122,139,537,718,770,782,784],[65,107,526,527,528,529,530,531,532,533,534,535],[65,107,622,771],[65,107,624],[65,107,622],[65,107,624,625],[65,107,122,523,545,547,556,557,558],[65,107,122,133,509,511,524,559,565,576,579,580,614,721,770,787,789],[65,107,122,133,150,523,558,560,562,563,565,577,719,763,769],[65,107,648],[65,107,649],[65,107,547,566,762],[65,107,650],[65,107,552],[65,107,548,549],[65,107,122,545,548,559],[65,107,549,554],[65,107,555],[65,107,548,561],[65,107,548,581],[65,107,548],[65,107,562,620,771],[65,107,619],[65,107,551,561,562],[65,107,562,617],[65,107,551,561],[65,107,576,680],[65,107,762],[65,107,122,150,523,559,563,567,576,680,720,723,726,727,728,754,755,758,761,763,770],[65,107,590,593,595,596,609,610],[65,107,516,519,521,564,756,757],[65,107,516,519,521,564,756,757,760],[65,107,664],[65,107,524,540,575,576,639,640,641,642,643,645,660,661,663,666,720,723,792,793],[65,107,609],[65,107,122,614,770],[65,107,614],[65,107,122,559,582,611,613,615,720,770,787,789],[65,107,590,591,592,593,595,596,609,610,788],[65,107,122,133,150,513,523,548,561,563,569,576,577,580,680,718,719,721,770,787,792],[65,107,550,551,553],[65,107,577,775,793,794],[65,107,764,765,766,767,768,773,793],[65,107,122,771,792],[65,107,122],[65,107,647,660],[65,107,646],[65,107,503,793],[65,107,647,772,792],[65,107,122,523,560,770,773,774,792,793,794],[65,107,516,547,551,608],[65,107,516,546],[65,107,505,506],[65,107,511,516],[65,107,516,551,594],[65,107,513,516,576,580,787,789],[65,107,511,825,826],[65,107,516,589],[65,107,133,150,509,516,583,585,587,588,789],[65,107,523,542,551],[65,107,551,778],[65,107,120,122,133,507,509,516,589,688,787,788],[65,107,516,517,518,521,787,797],[65,107,516,799,800,801,802],[65,107,112],[65,107,683,684,685],[65,107,683],[65,107,122,124,133,157,509,516,517,518,519,521,522,524,540,569,741,785,786,789,797,802],[65,107,811],[65,107,813],[65,107,817],[65,107,819],[65,107,821,822,823],[65,107,827],[65,107,798,803,805,810,812,814,818,820,824,828,830,840,841,843,844,845,846],[65,107,829],[65,107,839],[65,107,585],[65,107,842],[65,106,107,764,765,767,768,773,775,793,794,795,797],[65,107,157],[65,107,112,122,123,124,150,151,157,498],[65,107,157,159,160,161],[65,107,139,157,159],[65,107,873],[65,107,874],[65,107,139,157],[65,74,78,107,150],[65,74,107,139,150],[65,69,107],[65,71,74,107,147,150],[65,107,127,147],[65,69,107,157],[65,71,74,107,127,150],[65,66,67,70,73,107,119,139,150],[65,74,81,107],[65,66,72,107],[65,74,95,96,107],[65,70,74,107,142,150,157],[65,95,107,157],[65,68,69,107,157],[65,74,107],[65,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,107],[65,74,89,107],[65,74,81,82,107],[65,72,74,82,83,107],[65,73,107],[65,66,69,74,107],[65,74,78,82,83,107],[65,78,107],[65,72,74,77,107,150],[65,66,71,74,81,107],[65,107,139],[65,69,74,95,107,155,157],[65,107,908],[65,107,898,899],[65,107,896,897,898,900,901,906],[65,107,897,898],[65,107,906],[65,107,907],[65,107,898],[65,107,896,897,898,901,902,903,904,905],[65,107,896,897,908],[65,107,165,465,891],[65,107,895,909],[65,107,461,883,884,885,886,887,890,891,892],[65,107,369,461,883],[65,107,369,882],[65,107,369,461,883,884],[65,107,883,884,885,886,887,888,889,890],[65,107,369,461,883,885],[65,107,369]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"4f01e4d0959f9125b89e5737eb1ca2bfa69fd6b7d6126eba22feb8b505b00cde","impliedFormat":1},{"version":"4363a1adb9c77f2ed1ca383a41fbab1afadd35d485c018b2f84e834edde6a2c7","impliedFormat":1},{"version":"1d6458533adb99938d041a93e73c51d6c00e65f84724e9585e3cc8940b25523f","impliedFormat":1},{"version":"b0878fbd194bdc4d49fc9c42bfeeb25650842fe1412c88e283dc80854b019768","impliedFormat":1},{"version":"a892ea0b88d9d19281e99d61baba3155200acced679b8af290f86f695b589b16","impliedFormat":1},{"version":"03b42e83b3bcdf5973d28641d72b81979e3ce200318e4b46feb8347a1828cd5d","impliedFormat":1},{"version":"8a3d57426cd8fb0d59f6ca86f62e05dde8bfd769de3ba45a1a4b2265d84bac5a","impliedFormat":1},{"version":"afc6e1f323b476fdf274e61dab70f26550a1be2353e061ab34e6eed180d349b6","impliedFormat":1},{"version":"7c14483430d839976481fe42e26207f5092f797e1a4190823086f02cd09c113c","impliedFormat":1},{"version":"828a3bea78921789cbd015e968b5b09b671f19b1c14c4bbf3490b58fbf7d6841","impliedFormat":1},{"version":"69759c42e48938a714ee2f002fe5679a7ab56f0b5f29d571e4c31a5398d038fe","impliedFormat":1},{"version":"6e5e666fa6adeb60774b576084eeff65181a40443166f0a46ae9ba0829300fcb","impliedFormat":1},{"version":"1a4d43bdc0f2e240395fd204e597349411c1141dd08f5114c37d6268c3c9d577","impliedFormat":1},{"version":"874e58f8d945c7ac25599128a40ec9615aa67546e91ca12cbf12f97f6baf54ff","impliedFormat":1},{"version":"da2627da8d01662eb137ccd84af7ffa8c94cf2b2547d4970f17802324e54defc","impliedFormat":1},{"version":"07af06b740c01ed0473ebdd3f2911c8e4f5ebf4094291d31db7c1ab24ff559aa","impliedFormat":1},{"version":"ba1450574b1962fcf595fc53362b4d684c76603da5f45b44bc4c7eeed5de045b","impliedFormat":1},{"version":"b7903668ee9558d758c64c15d66a89ed328fee5ac629b2077415f0b6ca2f41bc","impliedFormat":1},{"version":"c7628425ee3076c4530b4074f7d48f012577a59f5ddade39cea236d6405c36ba","impliedFormat":1},{"version":"28c8aff998cc623ab0864a26e2eb1a31da8eb04e59f31fa80f02ec78eb225bcd","impliedFormat":1},{"version":"78d542989bdf7b6ba5410d5a884c0ab5ec54aa9ce46916d34267f885fcf65270","impliedFormat":1},{"version":"4d95060af2775a3a86db5ab47ca7a0ed146d1f6f13e71d96f7ac3b321718a832","impliedFormat":1},{"version":"6708cd298541a89c2abf66cceffc6c661f8ee31c013f98ddb58d2ec4407d0876","impliedFormat":1},{"version":"2e90928c29c445563409d89a834662c2ba6a660204fb3d4dc181914e77f8e29d","impliedFormat":1},{"version":"84be1b8b8011c2aab613901b83309d017d57f6e1c2450dfda11f7b107953286a","impliedFormat":1},{"version":"d7af890ef486b4734d206a66b215ebc09f6743b7fb2f3c79f2fb8716d1912d27","impliedFormat":1},{"version":"7e82c1d070c866eaf448ac7f820403d4e1b86112de582901178906317efc35ad","impliedFormat":1},{"version":"c5c4f547338457f4e8e2bec09f661af14ee6e157c7dc711ccca321ab476dbc6d","impliedFormat":1},{"version":"223e233cb645b44fa058320425293e68c5c00744920fc31f55f7df37b32f11ad","impliedFormat":1},{"version":"1394fe4da1ab8ab3ea2f2b0fcbfd7ccbb8f65f5581f98d10b037c91194141b03","impliedFormat":1},{"version":"086d9e59a579981bdf4f3bfa6e8e893570e5005f7219292bf7d90c153066cdfc","impliedFormat":1},{"version":"1ea59d0d71022de8ea1c98a3f88d452ad5701c7f85e74ddaa0b3b9a34ed0e81c","impliedFormat":1},{"version":"cd66a32437a555f7eb63490509a038d1122467f77fe7a114986186d156363215","impliedFormat":1},{"version":"f53d243499acfacc46e882bbf0bf1ae93ecea350e6c22066a062520b94055e47","impliedFormat":1},{"version":"65522e30a02d2720811b11b658c976bff99b553436d99bafd80944acba5b33b4","impliedFormat":1},{"version":"76b3244ec0b2f5b09b4ebf0c7419260813820f128d2b592b07ea59622038e45c","impliedFormat":1},{"version":"66eb7e876b49beff61e33f746f87b6e586382b49f3de21d54d41313aadb27ee6","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"865a2612f5ec073dd48d454307ccabb04c48f8b96fda9940c5ebfe6b4b451f51","impliedFormat":1},{"version":"70f79528d7e02028b3c12dd10764893b22df4c6e2a329e66456aa11bb304cabb","impliedFormat":1},{"version":"115b2ad73fa7d175cd71a5873d984c21593b2a022f1a2036cc39d9f53629e5dc","impliedFormat":1},{"version":"1be330b3a0b00590633f04c3b35db7fa618c9ee079258e2b24c137eb4ffcd728","impliedFormat":1},{"version":"3253d41f1fefc58f0ba77053f23a3c310cf1a2b880d3b98c63d52161baa730d3","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"27bbdb7509a5bb564020321fc5485764d0db3230a10d2336ae5ce2c1d401b0e7","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"8c70ddc0c22d85e56011d49fddfaae3405eb53d47b59327b9dd589e82df672e7","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"d87f90d2df7b638204d81d6c57e1f2a8cc9317c45ca331c691c375649aa9255c","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"990b8fad2327b77e6920cc792af320e8867e68f02ce849b12c0a6ab9a1aebb09","impliedFormat":1},{"version":"5eb8cd1cb0c9143d74a8190b577c522720878c31aef67d866fcd29973f83e955","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"9109a1291dd4b9f1541bea81ee11c247a2ca9e1ea89f87f13aa1811c3c069616","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e374d1eaa05b7dc38580062942ac8351ce79cbe11f6dbce4946a582a5680582d","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"56ccb49443bfb72e5952f7012f0de1a8679f9f75fc93a5c1ac0bafb28725fc5f","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"88e9caa9c5d2ba629240b5913842e7c57c5c0315383b8dc9d436ef2b60f1c391","impliedFormat":1},{"version":"ddf68b3b62e49cf6fd93ba2351ad0fbbcf62ca2d5d7afc9f186114e4b481c3cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"96171c03c2e7f314d66d38acd581f9667439845865b7f85da8df598ff9617476","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"e1f6076688a95bd82deaac740fccbe3cdea0d8a22057cccc9c5bce4398bdd33b","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"8bd496cf710d4873d15e4891a5dbf945673e3321ca74cf75187e347fd5ed295e","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"186eea74805194f04e41038fc5eca653788b9dedbab7c2d7d17e10139622dd92","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e2b197bf7fe7800f89c87825e2556d66474869845e97ad9c2b36f347c43539","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"d7c1bbcddb06dcc8c9184013ace33c0dc71af715ab5987ccb42b903d2ec91193","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"69e8dc4b276b4d431f5517cd6507f209669691c9fb2f97933e7dbd5619fd07b7","impliedFormat":1},{"version":"361a647c06cec2e7437fa5d7cdf07a0dcce3247d93fbf3b6de1dc75139ff5700","impliedFormat":1},{"version":"fe5726291be816d0c89213057cd0c411bb9e39e315ed7e1987adc873f0e26856","impliedFormat":1},{"version":"1b76990de23762eb038e8d80b3f9c810974a7ed2335caa97262c5b752760f11a","impliedFormat":1},{"version":"5e050e05fe99cd06f2d4ad70e73aa4a72961d0df99525e9cad4a78fa588f387b","impliedFormat":1},{"version":"4ff327e8b16da9d54347b548f85675e35a1dc1076f2c22b2858e276771010dd2","impliedFormat":1},{"version":"f767787945b5c51c0c488f50b3b3aeb2804dfd2ddafcb61125d8d8857c339f5a","impliedFormat":1},{"version":"1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","impliedFormat":1},{"version":"14ab21a9aeff5710d1d1262459a6d49fb42bed835aa0f4cfc36b75aa36faddcd","impliedFormat":1},{"version":"ba3c4682491b477c63716864a035b2cfdd727e64ec3a61f2ca0c9af3c0116cfd","affectsGlobalScope":true,"impliedFormat":1},{"version":"b222d32836d745e1e021bb10f6a0f4a562dd42206203060a8539a6b9f16523f0","impliedFormat":1},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"b7ca2f47522d4ea41e65ff92c4c6dd9c4c8260da7c456a7631a9c88dc056b4d0","impliedFormat":1},"982dd34f5c2326326524c9c7896dba7bd44b1ec13f2be1ea6b8a8208dadc991b","b33ef01bc723d48590945a66f06a61e78f338ba16b9dd336e6fef5700de7c901","368f7279f1e79b5902a8d2835302daa3b26a1565218b9eebaf91fc9cb6811c68","f84c496b3b311cf1240aa09d052c74f58a001d18219b98e1d194b4e1c045bca6","dacf326dde91947ebaf5d9e956f91eb310dac10a30794a3ef0054ad80e82a9f8","f78a0202ddd99294dfff6ad24e7a804b66ef1ec4603ee58c635f838a1b57f9ac","6c8ae0845ce565e4a8da50c17569b3387149cc1cef290ba73fc082bf2e1ca639","3875217f042633388beb28040694e19f64b93b8ff1f4b9ac8499f3121fd252c2","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","c48126ea985baabade287edc6eedb41dc3599eca729494582aea82cb23defbbb",{"version":"155d2e6caadb7de14cd4c337164f7febade2bcefb7645c7094158cd80e4b9c1f","impliedFormat":99},{"version":"fcc60c64e9ff115a2ddb9fcaeb19d45668b353ccafc55054588c0ffb5bfb7a53","impliedFormat":99},{"version":"0c2f0f87ad46e9b8f458f4392e355a07d8231d07ab4648c9cb8b108d3c947bb0","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},"6e943ccddb5e26c84793edc41d9ca14d71ac980f2fcf2b17ba874e64adfaef16","8bf84866e58924ccd723fd4e21d078c51689b976b43aa933e3203dc866ab272f",{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"a4a39b5714adfcadd3bbea6698ca2e942606d833bde62ad5fb6ec55f5e438ff8","impliedFormat":1},{"version":"bbc1d029093135d7d9bfa4b38cbf8761db505026cc458b5e9c8b74f4000e5e75","impliedFormat":1},{"version":"bc5c8a86f2025c4f52e4b13f08f2b76daddf50d5bad325795226f94537060e5d","impliedFormat":1}],"root":[[883,892],910,911],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[881,1],[868,2],[866,3],[864,4],[863,5],[867,6],[861,6],[865,7],[869,8],[871,9],[859,5],[875,10],[878,11],[880,12],[877,13],[879,14],[876,5],[870,1],[872,15],[862,5],[688,5],[894,16],[893,5],[895,17],[855,5],[915,18],[914,19],[916,19],[912,5],[913,5],[104,20],[105,20],[106,21],[65,22],[107,23],[108,24],[109,25],[60,5],[63,26],[61,5],[62,5],[110,27],[111,28],[112,29],[113,30],[114,31],[115,32],[116,32],[118,5],[117,33],[119,34],[120,35],[121,36],[103,37],[64,5],[122,38],[123,39],[124,40],[157,41],[125,42],[126,43],[127,44],[128,45],[129,46],[130,47],[131,48],[132,49],[133,50],[134,51],[135,51],[136,52],[137,5],[138,5],[139,53],[141,54],[140,55],[142,56],[143,57],[144,58],[145,59],[146,60],[147,61],[148,62],[149,63],[150,64],[151,65],[152,66],[153,67],[154,68],[155,69],[156,70],[165,71],[164,72],[163,71],[520,73],[759,74],[521,75],[519,74],[760,76],[517,77],[757,5],[518,78],[514,5],[516,79],[756,74],[564,74],[515,5],[458,80],[462,81],[407,82],[218,5],[168,83],[456,84],[457,85],[166,5],[459,86],[240,87],[183,88],[206,89],[215,90],[186,90],[187,91],[188,91],[214,92],[189,93],[190,91],[196,94],[191,95],[192,91],[193,91],[216,96],[185,97],[194,90],[195,95],[197,98],[198,98],[199,95],[200,91],[201,90],[202,91],[203,99],[204,99],[205,91],[227,100],[235,101],[213,102],[243,103],[207,104],[209,105],[210,102],[221,106],[229,107],[234,108],[231,109],[236,110],[224,111],[225,112],[232,113],[233,114],[239,115],[230,116],[208,86],[241,117],[184,86],[228,118],[226,119],[212,120],[211,102],[242,121],[217,122],[237,5],[238,123],[461,124],[167,86],[278,5],[295,125],[244,126],[269,127],[276,128],[245,128],[246,128],[247,129],[275,130],[248,131],[263,128],[249,132],[250,132],[251,129],[252,128],[253,129],[254,128],[277,133],[255,128],[256,128],[257,134],[258,128],[259,128],[260,134],[261,129],[262,128],[264,135],[265,134],[266,128],[267,129],[268,128],[290,136],[286,137],[274,138],[298,139],[270,140],[271,138],[287,141],[279,142],[288,143],[285,144],[283,145],[289,146],[282,147],[294,148],[284,149],[296,150],[291,151],[280,152],[273,153],[272,138],[297,154],[281,122],[292,5],[293,155],[464,156],[465,157],[463,158],[171,159],[364,160],[299,161],[334,162],[343,163],[300,164],[301,164],[302,165],[303,164],[342,166],[304,167],[305,168],[306,169],[307,164],[344,170],[345,171],[308,164],[310,172],[311,163],[313,173],[314,174],[315,174],[316,165],[317,164],[318,164],[319,170],[320,165],[321,165],[322,174],[323,164],[324,163],[325,164],[326,165],[327,175],[312,176],[328,164],[329,165],[330,164],[331,164],[332,164],[333,164],[352,177],[359,178],[341,179],[369,180],[335,181],[337,182],[338,179],[347,183],[354,184],[358,185],[356,186],[360,187],[348,188],[349,112],[350,189],[357,190],[363,191],[355,192],[336,86],[365,193],[309,86],[353,194],[351,195],[340,196],[339,179],[366,197],[367,5],[368,198],[346,122],[361,5],[362,199],[179,200],[172,201],[222,86],[219,202],[223,203],[220,204],[418,205],[395,206],[401,207],[370,207],[371,207],[372,208],[400,209],[373,210],[388,207],[374,211],[375,211],[376,208],[377,207],[378,212],[379,207],[402,213],[380,207],[381,207],[382,214],[383,207],[384,207],[385,214],[386,208],[387,207],[389,215],[390,214],[391,207],[392,208],[393,207],[394,207],[415,216],[406,217],[421,218],[396,219],[397,220],[410,221],[403,222],[414,223],[405,224],[413,225],[412,226],[417,227],[404,228],[419,229],[416,230],[411,231],[399,232],[398,220],[420,233],[409,234],[408,235],[175,236],[177,237],[176,236],[178,236],[181,238],[180,239],[182,240],[173,241],[454,242],[422,243],[447,244],[451,245],[450,246],[423,247],[452,248],[443,249],[444,245],[445,250],[446,251],[431,252],[439,253],[449,254],[455,255],[424,256],[425,254],[428,257],[434,258],[438,259],[436,260],[440,261],[429,262],[432,263],[437,264],[453,265],[435,266],[433,267],[430,268],[448,269],[426,270],[442,271],[427,122],[441,272],[169,122],[170,273],[174,274],[460,5],[498,275],[467,276],[477,276],[468,276],[478,276],[469,276],[470,276],[485,276],[484,276],[486,276],[487,276],[479,276],[471,276],[480,276],[472,276],[481,276],[473,276],[475,276],[483,277],[476,276],[482,277],[488,277],[474,276],[489,276],[494,276],[495,276],[490,276],[466,5],[496,5],[492,276],[491,276],[493,276],[497,276],[882,278],[849,279],[848,280],[856,281],[858,282],[853,283],[852,284],[857,280],[850,285],[502,286],[851,287],[500,5],[501,288],[854,5],[805,289],[810,290],[817,291],[786,292],[568,5],[542,293],[692,294],[695,295],[667,5],[680,296],[687,297],[573,5],[669,5],[540,5],[666,298],[774,299],[541,5],[566,300],[694,301],[696,302],[697,303],[754,304],[661,305],[613,306],[674,307],[675,308],[673,309],[672,5],[668,310],[693,311],[543,312],[724,5],[725,313],[579,314],[544,315],[580,314],[616,314],[512,314],[690,316],[689,5],[679,317],[790,5],[558,5],[816,318],[732,319],[733,320],[729,321],[834,5],[642,5],[734,322],[730,323],[839,324],[838,325],[833,5],[594,5],[645,326],[644,5],[832,327],[731,74],[599,328],[606,329],[608,330],[598,5],[603,331],[605,332],[607,333],[602,334],[600,5],[604,335],[835,5],[831,5],[837,336],[836,5],[597,337],[826,338],[829,339],[587,340],[586,341],[585,342],[842,74],[584,343],[646,5],[795,5],[796,74],[797,344],[504,5],[676,345],[677,346],[678,347],[508,5],[681,5],[557,348],[522,5],[746,74],[510,349],[745,350],[744,351],[735,5],[736,5],[743,5],[738,5],[741,352],[737,5],[739,353],[742,354],[740,353],[539,5],[570,5],[571,314],[701,5],[706,355],[707,356],[705,357],[703,358],[704,359],[699,5],[752,322],[565,322],[804,360],[811,361],[815,362],[633,363],[632,5],[503,5],[767,364],[524,365],[662,366],[663,367],[727,368],[651,5],[750,369],[637,74],[656,370],[753,371],[652,5],[655,372],[653,5],[751,373],[748,374],[747,5],[749,5],[659,5],[723,375],[552,376],[635,377],[639,378],[657,379],[660,380],[649,381],[640,382],[523,383],[713,384],[631,385],[560,386],[792,387],[509,388],[708,389],[700,5],[709,390],[784,391],[698,5],[783,392],[513,5],[781,393],[569,5],[726,394],[777,5],[545,5],[550,5],[671,5],[712,395],[572,5],[771,396],[658,397],[577,398],[636,5],[711,5],[702,5],[714,399],[715,400],[670,5],[717,401],[719,402],[718,403],[682,5],[710,386],[721,404],[630,405],[782,406],[785,407],[525,5],[529,5],[528,5],[527,5],[532,5],[526,5],[535,5],[534,5],[531,5],[530,5],[533,5],[536,408],[538,5],[623,409],[622,5],[627,410],[624,411],[626,412],[628,410],[625,411],[559,413],[615,414],[770,415],[768,5],[821,416],[823,417],[763,418],[822,419],[551,420],[553,420],[537,5],[563,421],[549,422],[555,423],[556,424],[567,425],[575,425],[581,425],[617,426],[582,426],[561,427],[548,5],[621,428],[620,429],[619,430],[618,431],[562,432],[755,433],[574,434],[762,435],[728,436],[758,437],[761,438],[665,439],[664,440],[643,441],[629,442],[612,443],[614,444],[611,445],[720,446],[634,5],[809,5],[554,447],[722,448],[769,449],[641,5],[772,450],[650,451],[648,452],[647,453],[794,454],[764,5],[793,455],[773,455],[807,5],[806,5],[808,5],[766,5],[765,5],[775,456],[638,5],[609,457],[547,458],[588,5],[507,459],[576,5],[813,74],[506,5],[825,460],[596,74],[819,322],[595,461],[788,462],[593,460],[511,5],[827,463],[591,74],[592,74],[583,5],[505,5],[590,464],[589,465],[578,466],[654,50],[776,50],[716,5],[779,467],[778,5],[601,337],[546,5],[610,74],[791,348],[789,468],[799,74],[802,469],[803,470],[800,74],[801,5],[691,471],[686,472],[685,5],[684,473],[683,5],[787,474],[812,475],[814,476],[818,477],[820,478],[824,479],[828,480],[847,481],[830,482],[840,483],[841,484],[843,485],[798,486],[846,348],[845,5],[844,487],[860,5],[499,488],[162,489],[159,487],[161,490],[160,5],[158,5],[874,491],[873,492],[780,493],[58,5],[59,5],[10,5],[11,5],[13,5],[12,5],[2,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[3,5],[22,5],[23,5],[4,5],[24,5],[28,5],[25,5],[26,5],[27,5],[29,5],[30,5],[31,5],[5,5],[32,5],[33,5],[34,5],[35,5],[6,5],[39,5],[36,5],[37,5],[38,5],[40,5],[7,5],[41,5],[46,5],[47,5],[42,5],[43,5],[44,5],[45,5],[8,5],[51,5],[48,5],[49,5],[50,5],[52,5],[9,5],[53,5],[54,5],[55,5],[57,5],[56,5],[1,5],[81,494],[91,495],[80,494],[101,496],[72,497],[71,498],[100,487],[94,499],[99,500],[74,501],[88,502],[73,503],[97,504],[69,505],[68,487],[98,506],[70,507],[75,508],[76,5],[79,508],[66,5],[102,509],[92,510],[83,511],[84,512],[86,513],[82,514],[85,515],[95,487],[77,516],[78,517],[87,518],[67,519],[90,510],[89,508],[93,5],[96,520],[909,521],[900,522],[907,523],[902,5],[903,5],[901,524],[904,525],[896,5],[897,5],[908,526],[899,527],[905,5],[906,528],[898,529],[892,530],[910,531],[911,532],[886,533],[883,534],[887,535],[885,535],[891,536],[888,537],[884,533],[890,538],[889,533]],"affectedFilesPendingEmit":[892,910,911,886,883,887,885,891,888,884,890,889],"version":"5.8.3"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.15.32/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.13.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/entity.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/logger.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/casing.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/operations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/sql.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/conditions.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/expressions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/aggregate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/functions/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sql/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigintt.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bytes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localdate.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/localtime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/relative-duration.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/timestamptz.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/relations.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/query-promise.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/runnable-query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/gel-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/migrator.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/mysql-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/cidr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/double-precision.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/inet.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/sequence.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/int.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/interval.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/jsonb.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/line.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/macaddr8.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/point.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/postgis_extension/geometry.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/smallserial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/uuid.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/bit.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/halfvec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/sparsevec.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/vector_extension/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/roles.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/policies.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/refresh-materialized-view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/array.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/utils/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/pg-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/binary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/boolean.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/char.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/datetime.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/decimal.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/double.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/enum.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/float.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/int.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/json.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/mediumint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/serial.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/smallint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/time.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/date.common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/timestamp.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/tinyint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varbinary.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/varchar.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/vector.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/year.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/bigint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/schema.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/singlestore-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/checks.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/custom.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/indexes.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/primary-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/unique-constraint.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view-base.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/count.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/subquery.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/db.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/raw.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/delete.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/update.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/insert.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/dialect.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/query-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/view.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/utils.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/integer.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/numeric.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/real.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/text.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/all.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/table.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/foreign-keys.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/blob.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/columns/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/query-builders/select.types.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/sqlite-core/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column-builder.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/column.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/alias.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/errors.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/view-common.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/index.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/cache/core/cache.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/session.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/driver.d.ts","../../../node_modules/.pnpm/drizzle-orm@0.45.2_@types+pg@8.20.0_pg@8.21.0_postgres@3.4.3/node_modules/drizzle-orm/node-postgres/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/vendored/cookie.d.ts","../../../node_modules/.pnpm/oauth4webapi@3.8.6/node_modules/oauth4webapi/build/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/cookie.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/warnings.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/symbols.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/env.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/jwt.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/actions.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/logger.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/webauthn.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/lib/utils/webauthn-utils.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/types.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/jsx.d.ts","../../../node_modules/.pnpm/preact@10.24.3/node_modules/preact/src/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/credentials.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/provider-types.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/nodemailer.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/email.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/oauth.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/providers/index.d.ts","../../../node_modules/.pnpm/@auth+core@0.41.0_nodemailer@8.0.5/node_modules/@auth/core/adapters.d.ts","../../../node_modules/.pnpm/next-auth@5.0.0-beta.30_nex_0a59d7177e7c4eb8b40dc920d3dba1e4/node_modules/next-auth/adapters.d.ts","../src/schemas/auth.ts","../src/schemas/hackathons.ts","../src/schemas/members.ts","../src/schemas/admins.ts","../src/schemas/events.ts","../src/schemas/judge.ts","../src/schemas/stripe.ts","../src/schemas/security.ts","../src/schemas/index.ts","../src/client.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-core/dist/standard.d.ts","../../../node_modules/.pnpm/@t3-oss+env-core@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-core/dist/index.d.ts","../../../node_modules/.pnpm/@t3-oss+env-nextjs@0.13.11_typescript@6.0.2_zod@3.25.53/node_modules/@t3-oss/env-nextjs/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/typealiases.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/util.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/zoderror.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/locales/en.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/errors.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/parseutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/enumutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/errorutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/helpers/partialutil.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/standard-schema.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/types.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/external.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/v3/index.d.ts","../../../node_modules/.pnpm/zod@3.25.53/node_modules/zod/dist/types/index.d.ts","../src/env.ts","../src/index.ts"],"fileIdsList":[[65,107,479,487],[65,107,470,471,472,473,474,476,479,487,488],[65,107,476,479],[65,107,470],[65,107],[65,107,479],[65,107,475,479],[65,107,469,475],[65,107,468,477,479,488],[65,107,479,481,487],[65,107,479,483,484,487],[65,107,477,479,482,485,486],[65,107,479,485],[65,107,467,470,475,479,483,487],[65,107,466,467,468,469,475,476,478,487],[65,107,500],[65,107,501],[65,104,107],[65,106,107],[107],[65,107,112,142],[65,107,108,113,119,120,127,139,150],[65,107,108,109,119,127],[60,61,62,65,107],[65,107,110,151],[65,107,111,112,120,128],[65,107,112,139,147],[65,107,113,115,119,127],[65,106,107,114],[65,107,115,116],[65,107,117,119],[65,106,107,119],[65,107,119,120,121,139,150],[65,107,119,120,121,134,139,142],[65,102,107],[65,102,107,115,119,122,127,139,150],[65,107,119,120,122,123,127,139,147,150],[65,107,122,124,139,147,150],[63,64,65,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,119,125],[65,107,126,150],[65,107,115,119,127,139],[65,107,128],[65,107,129],[65,106,107,130],[65,104,105,106,107,108,109,110,111,112,113,114,115,116,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,107,132],[65,107,133],[65,107,119,134,135],[65,107,134,136,151,153],[65,107,119,139,140,142],[65,107,141,142],[65,107,139,140],[65,107,142],[65,107,143],[65,104,107,139],[65,107,119,145,146],[65,107,145,146],[65,107,112,127,139,147],[65,107,148],[65,107,127,149],[65,107,122,133,150],[65,107,112,151],[65,107,139,152],[65,107,126,153],[65,107,154],[65,107,119,121,130,139,142,150,153,155],[65,107,139,156],[65,107,164],[65,107,119,139,147,157,158,159,162,163,164],[65,107,166,170,173,219,457],[65,107,166,218,461],[65,107,462],[65,107,166,174,457],[65,107,166,173,174,243,298,369,421,455,457],[65,107,166,170,173,174,456],[65,107,166],[65,107,212,217,239],[65,107,166,182,212],[65,107,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,215],[65,107,166,185,214,456,457],[65,107,166,214,456,457],[65,107,166,173,174,207,212,213,456,457],[65,107,166,173,174,212,214,456,457],[65,107,166,214,456],[65,107,166,212,214,456,457],[65,107,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,204,205,214,215],[65,107,166,184,214,456],[65,107,166,196,214,456,457],[65,107,166,196,212,214,456,457],[65,107,166,169,173,174,179,212,216,217,219,221,224,225,226,228,234,235,239,462],[65,107,166,173,174,212,216,219,234,238,239],[65,107,166,212,216],[65,107,183,184,207,208,209,210,211,212,213,216,226,227,228,234,235,237,238,240,241,242],[65,107,166,173,212,216],[65,107,166,173,208,212],[65,107,166,173,212,228],[65,107,166,169,172,173,212,222,223,228,235,239],[65,107,229,230,231,232,233,236,239],[65,107,166,169,170,172,173,179,207,212,214,222,223,228,230,235,236,239],[65,107,166,169,173,179,216,226,233,235,239],[65,107,166,173,174,212,219,222,223,228,235],[65,107,166,173,220,222,223],[65,107,166,173,222,223,228,235,238],[65,107,166,169,172,173,174,179,212,216,217,218,222,223,226,228,235,239],[65,107,169,170,171,172,173,174,179,212,216,217,228,233,238],[65,107,166,169,170,172,173,174,212,214,217,222,223,228,235,239,457],[65,107,166,173,184,212],[65,107,166,174,182,218,219,220,227,235,239,462],[65,107,169,172,173],[65,107,166,170,183,206,207,209,210,211,213,214,456],[65,107,169,173,183,207,209,210,211,212,213,216,217,238,243,456,457],[65,107,166,173],[65,107,166,172,173,174,179,214,217,236,237,456],[65,107,166,167,169,170,171,174,182,219,222,456,457,458,459,460],[65,107,273,281,294],[65,107,166,173,273],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,276],[65,107,166,275,456,457],[65,107,166,174,275,456,457],[65,107,166,173,174,273,274,456,457],[65,107,166,173,174,273,275,456,457],[65,107,166,174,273,275,456,457],[65,107,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,264,265,266,267,268,275,276],[65,107,166,255,275,456,457],[65,107,166,174,263,456,457],[65,107,166,169,173,174,219,273,280,281,286,287,288,289,291,294,462],[65,107,166,173,174,219,273,275,278,279,284,285,291,294],[65,107,166,273,277],[65,107,244,270,271,272,273,274,277,280,286,288,290,291,292,293,295,296,297],[65,107,166,173,273,277],[65,107,166,173,273,281,291],[65,107,166,169,173,174,222,273,275,286,291,294],[65,107,279,282,283,284,285,294],[65,107,166,170,173,179,218,222,223,273,275,283,284,286,291,294],[65,107,166,169,280,282,286,294],[65,107,166,173,174,219,222,273,286,291],[65,107,166,169,172,173,174,179,218,222,270,273,277,280,281,286,291,294],[65,107,169,170,171,172,173,174,179,273,277,281,282,291,293],[65,107,166,169,173,174,218,222,273,275,286,291,294,457],[65,107,166,273,293],[65,107,166,173,174,218,219,286,290,294,462],[65,107,169,172,173,179,283],[65,107,166,170,244,269,270,271,272,274,275,456],[65,107,169,244,270,271,272,273,274,281,282,293,298,461],[65,107,166,172,173,179,277,281,283,292,456],[65,107,165,166,167,174,219,352,359,462,463],[65,107,463,464],[65,107,165,166,167,173,174,218,219,353,359,363,369,407],[65,107,169,170,173,457],[65,107,340,346,363],[65,107,166,182,340],[65,107,300,301,302,303,304,306,307,308,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,343],[65,107,166,310,342,456,457],[65,107,166,342,456,457],[65,107,166,174,342,456,457],[65,107,166,173,174,335,340,341,456,457],[65,107,166,173,174,340,342,456,457],[65,107,166,342,456],[65,107,166,174,305,342,456,457],[65,107,166,174,340,342,456,457],[65,107,300,301,302,303,304,306,307,308,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,342,343,344],[65,107,166,309,342,456],[65,107,166,312,342,456,457],[65,107,166,340,342,456,457],[65,107,166,305,312,340,342,456,457],[65,107,166,174,305,340,342,456,457],[65,107,166,169,173,174,219,340,345,346,347,348,349,350,351,353,358,359,362,363,462],[65,107,166,173,174,219,278,340,345,353,358,362,363],[65,107,166,340,345],[65,107,299,309,335,336,337,338,339,340,341,345,351,352,353,358,359,361,362,364,365,366,368],[65,107,166,173,340,345],[65,107,166,173,336,340],[65,107,166,173,174,340,353],[65,107,166,169,172,173,179,218,222,223,340,353,359,363],[65,107,350,354,355,356,357,360,363],[65,107,166,169,170,172,173,179,218,222,223,335,340,342,353,355,359,360,363],[65,107,166,169,173,345,351,357,359,363],[65,107,166,173,174,219,222,223,340,353,359],[65,107,166,173,222,223,353,359,362],[65,107,166,169,172,173,174,179,218,222,223,340,345,346,351,353,359,363],[65,107,169,170,171,172,173,174,179,340,345,346,353,357,362],[65,107,166,169,170,172,173,174,179,218,222,223,340,342,346,353,359,363,457],[65,107,166,173,174,309,340,344,362],[65,107,166,174,182,218,219,220,352,359,363,462],[65,107,169,172,173,179,360],[65,107,166,170,299,334,335,337,338,339,341,342,456],[65,107,169,173,299,335,337,338,339,340,341,345,346,362,369,456,457],[65,107,367],[65,107,166,172,173,174,179,342,346,360,361,456],[65,107,166,182],[65,107,169,170,171,173,174,456,457],[65,107,166,170,173,174,177,457,461],[65,107,456],[65,107,461],[65,107,399,417],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,401],[65,107,166,400,456,457],[65,107,166,174,400,456,457],[65,107,166,174,399,456,457],[65,107,166,173,174,399,400,456,457],[65,107,166,174,399,400,456,457],[65,107,166,174,182,400,456,457],[65,107,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,389,390,391,392,393,394,400,401],[65,107,166,380,400,456,457],[65,107,166,174,388,456,457],[65,107,166,169,173,219,399,406,409,410,411,414,416,417,462],[65,107,166,173,174,219,278,399,400,403,404,405,416,417],[65,107,396,397,398,399,402,406,411,414,415,416,418,419,420],[65,107,166,173,399,402],[65,107,166,399,402],[65,107,166,173,399,416],[65,107,166,169,173,174,222,399,400,406,416,417],[65,107,403,404,405,412,413,417],[65,107,166,170,173,222,223,399,400,404,406,416,417],[65,107,166,169,406,411,412,417],[65,107,166,169,172,173,174,179,218,222,399,402,406,411,416,417],[65,107,169,170,171,172,173,174,179,399,402,412,416],[65,107,166,169,173,174,222,399,400,406,416,417,457],[65,107,166,399],[65,107,166,173,174,218,219,406,415,417,462],[65,107,169,172,173,179,413],[65,107,166,170,395,396,397,398,400,456],[65,107,169,173,396,397,398,399,421,456,457],[65,107,166,167,174,219,406,408,415,462],[65,107,166,167,173,174,218,219,406,407,416,417],[65,107,173,457],[65,107,175,176],[65,107,178,180],[65,107,173,179,457],[65,107,173,177,181],[65,107,166,168,169,170,172,174,457],[65,107,427,448,453],[65,107,166,173,448],[65,107,423,443,444,445,446,451],[65,107,166,174,450,456,457],[65,107,166,173,174,448,449,456,457],[65,107,166,173,174,448,450,456,457],[65,107,423,443,444,445,446,450,451],[65,107,166,174,442,448,450,456,457],[65,107,166,450,456,457],[65,107,166,174,448,450,456,457],[65,107,166,169,173,174,219,427,428,429,430,433,438,439,448,453,462],[65,107,166,173,174,219,278,433,438,448,452,453],[65,107,166,448,452],[65,107,422,424,425,426,430,431,433,438,439,441,442,448,449,452,454],[65,107,166,173,448,452],[65,107,166,173,433,441,448],[65,107,166,169,172,173,174,222,223,433,439,448,450,453],[65,107,434,435,436,437,440,453],[65,107,166,169,172,173,174,179,222,223,424,433,435,439,440,448,450,453],[65,107,166,169,430,437,439,453],[65,107,166,173,174,219,222,223,433,439,448],[65,107,166,173,220,222,223,439],[65,107,166,169,172,173,174,179,218,222,223,427,430,433,439,448,452,453],[65,107,169,170,171,172,173,174,179,427,433,437,441,448,452],[65,107,166,169,172,173,174,222,223,427,433,439,448,450,453,457],[65,107,166,173,218,219,220,222,431,432,439,453,462],[65,107,169,172,173,179,440],[65,107,166,170,422,424,425,426,447,449,450,456],[65,107,166,448,450],[65,107,169,173,422,424,425,426,427,441,448,449,455],[65,107,166,172,173,179,427,440,450,456],[65,107,166,171,173,174,457],[65,107,167,170,173,457,462],[65,107,488],[65,107,159,160,161],[65,107,139,159],[65,107,480],[65,107,481],[65,74,78,107,150],[65,74,107,139,150],[65,69,107],[65,71,74,107,147,150],[65,107,127,147],[65,71,74,107,127,150],[65,66,67,70,73,107,119,139,150],[65,74,81,107],[65,66,72,107],[65,74,95,96,107],[65,70,74,107,142,150],[65,95,107],[65,68,69,107],[65,74,107],[65,68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,107],[65,74,89,107],[65,74,81,82,107],[65,72,74,82,83,107],[65,73,107],[65,66,69,74,107],[65,74,78,82,83,107],[65,78,107],[65,72,74,77,107,150],[65,66,71,74,81,107],[65,107,139],[65,69,74,95,107,155],[65,107,515],[65,107,505,506],[65,107,503,504,505,507,508,513],[65,107,504,505],[65,107,513],[65,107,514],[65,107,505],[65,107,503,504,505,508,509,510,511,512],[65,107,503,504,515],[65,107,165,465,498],[65,107,502,516],[65,107,461,490,491,492,493,494,497,498,499],[65,107,369,461,490],[65,107,369,489],[65,107,369,461,490,492],[65,107,490,491,492,493,494,495,496,497],[65,107,369,461,490,491],[65,107,369]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3fe4022ba1e738034e38ad9afacbf0f1f16b458ed516326f5bf9e4a31e9be1dc","impliedFormat":1},{"version":"a957197054b074bcdf5555d26286e8461680c7c878040d0f4e2d5509a7524944","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"f478f6f5902dc144c0d6d7bdc919c5177cac4d17a8ca8653c2daf6d7dc94317f","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"25d130083f833251b5b4c2794890831b1b8ce2ead24089f724181576cf9d7279","impliedFormat":1},{"version":"ffe66ee5c9c47017aca2136e95d51235c10e6790753215608bff1e712ff54ec6","impliedFormat":1},{"version":"206a70e72af3e24688397b81304358526ce70d020e4c2606c4acfd1fa1e81fb2","impliedFormat":1},{"version":"017caf5d2a8ef581cf94f678af6ce7415e06956317946315560f1487b9a56167","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"d71535813e39c23baa113bc4a29a0e187b87d1105ccc8c5a6ebaca38d9a9bff2","impliedFormat":1},{"version":"4c3148420835de895b9218b2cea321a4607008ba5cefa57b2a57e1c1ef85d22f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"636302a00dfd1f9fe6e8e91e4e9350c6518dcc8d51a474e4fc3a9ba07135100b","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"e1ce1d622f1e561f6cdf246372ead3bbc07ce0342024d0e9c7caf3136f712698","impliedFormat":1},{"version":"199c8269497136f3a0f4da1d1d90ab033f899f070e0dd801946f2a241c8abba2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"27e4532aaaa1665d0dd19023321e4dc12a35a741d6b8e1ca3517fcc2544e0efe","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"6266d94fb9165d42716e45f3a537ca9f59c07b1dfa8394a659acf139134807db","affectsGlobalScope":true,"impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"a7692a54334fd08960cd0c610ff509c2caa93998e0dcefa54021489bcc67c22d","affectsGlobalScope":true,"impliedFormat":1},{"version":"74736930d108365d7bbe740c7154706ccfb1b2a3855a897963ab3e5c07ecbf19","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"1e25f8d0a8573cafd5b5a16af22d26ab872068a693b9dbccd3f72846ab373655","affectsGlobalScope":true,"impliedFormat":1},{"version":"3797dd6f4ea3dc15f356f8cdd3128bfa18122213b38a80d6c1f05d8e13cbdad8","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"c6fe327c538417b8dd5b9bb32abcd7911534b10da3a4514f3445cdb28cf3abf2","impliedFormat":99},{"version":"0065cdb7ac9f5b19921632de63f888ec2cc11ad57f7fc868f44bf0faad2fce3e","impliedFormat":99},{"version":"8c1adc3171d0287f3a26f4891a7d1834c89999573a9b444aa5ff519dcc43a2b7","impliedFormat":99},{"version":"a829052855dca3affb8e2ef0afa0f013b03fa9b55762348b1fba76d9c2741c99","impliedFormat":99},{"version":"27aee784c447854a4719f11058579e49f08faa70d06d8e30abe00f5e25538de6","impliedFormat":99},{"version":"8e10049294ca78d6ddffe8628ec671f165bd06db35b858e6c6ce6eeaeb546ba3","impliedFormat":99},{"version":"531de62ccf432c13c76004416714ecd03e6fde98d70d283c1ee2578a25784edf","impliedFormat":99},{"version":"5a2cf4cd852a58131b320da62269b2143850920ce27e8fdec41fed5c2c54ec95","impliedFormat":99},{"version":"99813a55d43aa2535ca273996466414a14a9b6948018050e370f0c65909f77ad","impliedFormat":99},{"version":"6a99940a8a76a1aa20ae6f2afd8e909e47e0b17df939e7cf5a585171480655ff","impliedFormat":99},{"version":"043195af0b52aadd10713870dd60369df0377ed153104b26e6bac1213b19f63e","impliedFormat":99},{"version":"ad17a36132569045ab97c8e5badf8febb556011a8ed7b2776ff823967d6d5aca","impliedFormat":99},{"version":"698d2b22251dbbfc0735e2d6ed350addead9ad031fac48b8bb316e0103d865db","impliedFormat":99},{"version":"7298d28b75c52e89c0b3e5681eac19e14480132cd30baaba5e5ca10211a740ef","impliedFormat":99},{"version":"ff10facf373a13d2864ff4de38c4892d74be27d9c6468dac49c08adabbf9b0eb","impliedFormat":99},{"version":"97b1cf4599cc3bc2e84b997aa1af60d91ca489d96bea0e20aaff0e52a5504b29","impliedFormat":99},{"version":"853dfbcd0999d3edc6be547d83dc0e0d75bf44530365b9583e75519d35984c35","impliedFormat":99},{"version":"9c80bed388d4ed47080423402db9cb1b35a31449045a83a0487f4dfde3d9d747","impliedFormat":99},{"version":"f29bc6a122a4a26c4e23289daae3aa845a18af10da90989cb8b51987e962b7be","impliedFormat":99},{"version":"3a1f39e098971c10633a064bd7a5dbdec464fcf3864300772763c16aa24457f9","impliedFormat":99},{"version":"20e614d6e045d687c3f7d707561b7655ad6177e859afc0c55649b7e346704c77","impliedFormat":99},{"version":"aa0ae1910ba709bc9db460bdc89a6a24d262be1fbea99451bedac8cbbc5fb0cd","impliedFormat":99},{"version":"161d113c2a8b8484de2916480c7ba505c81633d201200d12678f7f91b7a086f0","impliedFormat":99},{"version":"b998a57d4f43e32ac50a1a11f4505e1d7f71c3b87f155c140debe40df10386c8","impliedFormat":99},{"version":"5710e8ed9797ae0042e815eb8f87df2956cb1bf912939c9b98eeb58494a63c13","impliedFormat":99},{"version":"a6bb421dccfec767dbd3e99180b24c07c4a216c0fd549f54a3313f6ce3f9d2c7","impliedFormat":99},{"version":"3b6f1be46f573b1c1f3e6cd949890bfb96b40ff90b6f313e425a379c1c4d5d77","impliedFormat":99},{"version":"28a2c54d0a78d32c29f7279ca04dc6c7860c008579e4e3033938c0ed0201eb9a","impliedFormat":99},{"version":"c2714a402843287624210a47ebea2b1c8dd3ad1438f448633f6831e31eaf37b8","impliedFormat":99},{"version":"b89945ec6707415d739f3e76f2820982d4927dc6b681910b3c433b5ad261b817","impliedFormat":99},{"version":"a72d5822fb2a2c1ef985b30aed889f4c00342c90e12318762fccc550c6a599cf","impliedFormat":99},{"version":"c8616ab60eda93ca87fbb20aada1d6a6cdbcd2cb181a70a2d7728a3cb0613391","impliedFormat":99},{"version":"eeddfd3e0b09890822068de5248d38144f8328e74b5292847eb4e558d8aba8cb","impliedFormat":99},{"version":"d4dc0b6592543314c8549c71e35ad2ec4a57904662d905ff9585836bde1c855a","impliedFormat":99},{"version":"56e1687a174cd10912a35a4676af434bb213aafa5d4371040986c578afe644ab","impliedFormat":99},{"version":"470c280cc484340b97d0942e0c3aa312399eba3849ceb95312d0d7413bac7458","impliedFormat":99},{"version":"ae183f4a6300aad2be92cdbd4dd12d8bcd36eddf8dd1846f998c237235fe0c33","impliedFormat":99},{"version":"4b0eeffddaf51b967e95926a825a6ba1205b81b3a8fecddbe21eaf0e86bdee91","impliedFormat":99},{"version":"bf3ec0d42e33e487c359a989b30e1c9e90fa06de484dc4751e93fb34a9b5cf90","impliedFormat":99},{"version":"7b9656a61d83df1a46c38c2984dbf96dd057bf48f477ddf3f8990311ab98ec23","impliedFormat":99},{"version":"366b85ddb698f3a035e0caa68dc9fef39a85c4368c0810eaf937c3a3c63ac31e","impliedFormat":99},{"version":"d440ee730bc60a5c605903842e398863e7ecdb7a91fc32a9152f14061bf6cc17","impliedFormat":99},{"version":"a12c86c4a691608d19a75320946c80bbce38bb62c091dda32572aee7158edd38","impliedFormat":99},{"version":"3109cb3f8ab0308d2944c26742b6a8a02b4a4ffc23f479a81f0e945d6a6721dd","impliedFormat":99},{"version":"a2289c12a987f2a06f4cf049afde4fdc9455a4af37913445148865938c6eb613","impliedFormat":99},{"version":"55933c1450edcfaf166429425dbbad0a27c0ae8672d5ab5d427e46946a6f2f63","impliedFormat":99},{"version":"6c684fda6998db4112e82367c9e82e27996dc8086a10d58ac9b51d89770d5f9d","impliedFormat":99},{"version":"5c4b4dd983471fcaed17ad3241c98a1f880729f1ca579ddbcdae7e0bf04035df","impliedFormat":99},{"version":"9e430429c7e9e70071a836ac91a1bf6e6651f91d47d9f4baf0a92eefc6130818","impliedFormat":99},{"version":"b3db7f6d7ef72669dc83fa1ff7b90a2ec31d1d8f82778f2a00ef6d101f5247e5","impliedFormat":99},{"version":"354f61bd2a5acaf20462bc4d61048aa25f8fc0dd04dfe3d2f30bdbabbab54e7d","impliedFormat":99},{"version":"d51756340928e549f076c832d7bc2b4180385597b0b4daaa50e422bed53e1a72","impliedFormat":99},{"version":"32c6e3ef96f2bcbc1db7d7f891459241657633aa663cab6812fb28ade7c90608","impliedFormat":99},{"version":"ac2ea00eb8f73665842e57e729e14c6d3feabe9859dc5e87a1ed451b20b889e4","impliedFormat":99},{"version":"730cb342a128f5a8a036ffbd6dbc1135b623ce2100cefe1e1817bb8845bc7100","impliedFormat":99},{"version":"78e387f16df573a98dd51b3c86d023ddbd5bf68e510711a9fee8340e7ccc3703","impliedFormat":99},{"version":"e2381c64702025b4d57b005e94ed0b994b5592488d76f1e5f67f59d1860ebb70","impliedFormat":99},{"version":"d7dfcb039ff9cff38ccd48d2cc1ba95ca45c316670eddbcf81784e21b7128692","impliedFormat":99},{"version":"acaf0a60eb243938f7742df08bf5d52482fbea033fd27141ee3a6d878bbb0d3d","impliedFormat":99},{"version":"fb89aeecfc8eb28f5677c2c89bced74d13442b7f4ebd01ce2ce92127d1b36d69","impliedFormat":99},{"version":"9e91cb0a5bd7aefa2b94a2872828d6d2321df0ca44412e74d99e8b94e579b7d8","impliedFormat":99},{"version":"a56827adea79fb04ecb27671b6a3529fe74c6937ebb9ca9bdd53b7bd0e8c861b","impliedFormat":99},{"version":"192c1a207b44af476190ae66920636de5d56c33b57206bbc2421adc23f673e2e","impliedFormat":99},{"version":"e5aa35b3740170492e06e60989d35a222cfda2148507c650ea55753f726c9213","impliedFormat":99},{"version":"057aa42f6983120c35373aed62b219ffcbd7b476b2df08709139a9eb8dfeed26","impliedFormat":99},{"version":"95a0c46b4675d4d02de6a7c167738f1176b53b26ebec9ccfe8e5d9acb0dc7aee","impliedFormat":99},{"version":"94ad4d9745811c482ae3bad61e5b206e0904f77e0dacf783199193a3df9f6ce6","impliedFormat":99},{"version":"407dc18ecd25802296fade17be81d0d4f499ae75fe88ed132f94e7efdad269e2","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"f6dfe21d867aa5e13bc53d536b69b66427f571707a01e7c3604dc51ded097313","impliedFormat":99},{"version":"4ecd02d0e4ccf7befb9c28802c6c208060e33291d56fd1868900ca295c399077","impliedFormat":99},{"version":"37ada75be4b3f6b888f538091020d81b2a0ad721dc42734f70f639fa4703a5c8","impliedFormat":99},{"version":"aa73ff0024d5434a3e87ea2824f6faece7aad7b9f6c22bd399268241ca051dc7","impliedFormat":99},{"version":"4c9fb50b0697756bab3e4095f28839cf5b55430a4744d2ebbaf850ec8dca54d8","impliedFormat":99},{"version":"782868b723c055c5612c4a243f72a78a8b3c0c3b707ae04954e36e8ab966df4c","impliedFormat":99},{"version":"3de9d9ad4876972e7599fc0b3bddb0fddb1923be75787480a599045a30f14292","impliedFormat":99},{"version":"0f4b3c05937bbdb9cf954722ddc97cd72624e3b810f6f2cf4be334adb1796ec1","impliedFormat":99},{"version":"9fc243c4c87d8560348501080341e923be2e70bf7b5e09a1b26c585d97ae8535","impliedFormat":99},{"version":"4f97089fe15655ae448c9d005bb9a87cc4e599b155edc9e115738c87aa788464","impliedFormat":99},{"version":"f948d562d0a8085f1bd17b50798d5032529a75c147f40adfeb4fd3e453368643","impliedFormat":99},{"version":"22929f9874783b059156ee3cfa864d6f718e1abf9c139f298a037ae0274186f6","impliedFormat":99},{"version":"c72a7c316459b2e872ca4a9aca36cc05d1354798cee10077c57ff34a34440ac2","impliedFormat":99},{"version":"3e5bbf8893b975875f5325ebf790ab1ab38a4173f295ffea2ed1f108d9b1512c","impliedFormat":99},{"version":"9e4a38448c1d26d4503cf408cc96f81b7440a3f0a95d2741df2459fe29807f67","impliedFormat":99},{"version":"84124d21216da35986f92d4d7d1192ca54620baeca32b267d6d7f08b5db00df9","impliedFormat":99},{"version":"efba354914a2dc1056a55510188b6ced85ead18c5d10cc8a767b534e2db4b11b","impliedFormat":99},{"version":"25f5bf39f0785a2976d0af5ac02f5c18ca759cde62bc48dd1d0d99871d9ad86f","impliedFormat":99},{"version":"e711fa7718a2060058ff98ac6bff494c1615b9d42c4f03aa9c8270bc34927164","impliedFormat":99},{"version":"e324b2143fa6e32fac37ed9021b88815e181b045a9f17dbb555b72d55e47cdc1","impliedFormat":99},{"version":"3e90ea83e3803a3da248229e3027a01428c3b3de0f3029f86c121dc76c5cdcc2","impliedFormat":99},{"version":"9368c3e26559a30ad3431d461f3e1b9060ab1d59413f9576e37e19aaf2458041","impliedFormat":99},{"version":"915e5bb8e0e5e65f1dc5f5f36b53872ffcdcaef53903e1c5db7338ea0d57587a","impliedFormat":99},{"version":"92cf986f065f18496f7fcb4f135bff8692588c5973e6c270d523191ef13525ad","impliedFormat":99},{"version":"652f2bd447e7135918bc14c74b964e5fe48f0ba10ff05e96ed325c45ac2e65fb","impliedFormat":99},{"version":"cc2156d0ec0f00ff121ce1a91e23bd2f35b5ab310129ad9f920ddaf1a18c2a4d","impliedFormat":99},{"version":"7b371e5d6e44e49b5c4ff88312ae00e11ab798cfcdd629dee13edc97f32133d8","impliedFormat":99},{"version":"e9166dab89930e97bb2ce6fc18bcc328de1287b1d6e42c2349a0f136fc1f73e6","impliedFormat":99},{"version":"6dc0813d9091dfaed7d19df0c5a079ee72e0248ce5e412562c5633913900be25","impliedFormat":99},{"version":"e704c601079399b3f2ec4acdfc4c761f5fe42f533feaaab7d2c1c1528248ca3e","impliedFormat":99},{"version":"49104d28daa32b15716179e61d76b343635c40763d75fe11369f681a8346b976","impliedFormat":99},{"version":"04cd3418706b1851d2c1d394644775626529c23e615a829b8abfe26ec0ee3aef","impliedFormat":99},{"version":"21e459e9485fc48f21708d946c102e4aaa4a87b4c9ad178e1c5667e3ff6bbc59","impliedFormat":99},{"version":"97e685ac984fc93dcdae6c24f733a7a466274c103fdcf5d3b028eaa9245f59d6","impliedFormat":99},{"version":"68526ea8f3bbf75a95f63a3629bebe3eb8a8d2f81af790ce40bc6aad352a0c12","impliedFormat":99},{"version":"fdfd8c7050f46bb79eae64ca3ece0caf632830fbf326e1e904df352977b60317","impliedFormat":99},{"version":"b5428f35f4ebf7ea46652b0158181d9c709e40a0182e93034b291a9dc53718d8","impliedFormat":99},{"version":"0afcd28553038bca2db622646c1e7fcf3fb6a1c4d3b919ef205a6014edeeae0f","impliedFormat":99},{"version":"ee016606dd83ceedc6340f36c9873fbc319a864948bc88837e71bd3b99fdb4f6","impliedFormat":99},{"version":"0e09ffe659fdd2e452e1cbe4159a51059ae4b2de7c9a02227553f69b82303234","impliedFormat":99},{"version":"4126cb6e6864f09ca50c23a6986f74e8744e6216f08c0e1fe91ab16260dab248","impliedFormat":99},{"version":"4927dba9193c224e56aa3e71474d17623d78a236d58711d8f517322bd752b320","impliedFormat":99},{"version":"3d3f189177511d1452e7095471e3e7854b8c44d94443485dc21f6599c2161921","impliedFormat":99},{"version":"bb0519ff5ef245bbf829d51ad1f90002de702b536691f25334136864be259ec5","impliedFormat":99},{"version":"a64e28f2333ea0324632cf81fd73dc0f7090525547a76308cb1dfe5dab96596a","impliedFormat":99},{"version":"883f9faa0229f5d114f8c89dadd186d0bdf60bdafe94d67d886e0e3b81a3372e","impliedFormat":99},{"version":"d204b9ae964f73721d593e97c54fc55f7fd67de826ce9e9f14b1e762190f23d1","impliedFormat":99},{"version":"91830d20b424859e5582a141efe9a799dc520b5cce17d61b579fb053c9a6cd85","impliedFormat":99},{"version":"68115cdc58303bad32e2b6d59e821ccaada2c3fb63f964df7bd4b2ebd6735e80","impliedFormat":99},{"version":"ee27e47098f1d0955c8a70a50ab89eb0d033d28c5f2d76e071d8f52a804afe07","impliedFormat":99},{"version":"7957b11f126c6af955dc2e08a1288013260f9ec2776ff8cc69045270643bf43e","impliedFormat":99},{"version":"7acda36e46d3aab69093c27bc9765fe8db307840d804858d1b416bd04af6a948","impliedFormat":99},{"version":"85059ed9b6605d92c753daf3a534855ba944be69ff1a12ab4eca28cefbabd07a","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ea68a96f4e2ba9ca97d557b7080fbdb7f6e6cf781bb6d2e084e54da2ac2bb36c","impliedFormat":99},{"version":"fdae6a221872468d5b6ef3ee06a5ede1b7b3168b6c8346d0bf389fe0490b5269","impliedFormat":99},{"version":"424df1d45a2602f93010cb92967dfe76c3fcadad77d59deb9ca9f7ab76995d40","impliedFormat":99},{"version":"21f96085ed19d415725c5a7d665de964f8283cacef43957de10bdd0333721cc4","impliedFormat":99},{"version":"e8d4da9e0859c6d41c4f1c3f4d0e70446554ba6a6ab91e470f01af6a2dcac9bf","impliedFormat":99},{"version":"2e2421a3eec7afefa5a1344a6852d6fee6304678e2d4ee5380b7805f0ac8b58a","impliedFormat":99},{"version":"a10fd5d76a2aaba572bec4143a35ff58912e81f107aa9e6d97f0cd11e4f12483","impliedFormat":99},{"version":"1215f54401c4af167783d0f88f5bfb2dcb6f0dacf48495607920229a84005538","impliedFormat":99},{"version":"476f8eb2ea60d8ad6b2e9a056fdda655b13fd891b73556b85ef0e2af4f764180","impliedFormat":99},{"version":"2fe93aef0ee58eaa1b22a9b93c8d8279fe94490160703e1aabeff026591f8300","impliedFormat":99},{"version":"bbb02e695c037f84947e56da3485bb0d0da9493ed005fa59e4b3c5bc6d448529","impliedFormat":99},{"version":"ba666b3ab51c8bc916c0cebc11a23f4afec6c504c767fd5f0228358f7d285322","impliedFormat":99},{"version":"c10972922d1887fe48ed1722e04ab963e85e1ac12263a167edef9b804a2af097","impliedFormat":99},{"version":"6efeacbd1759ea57a4c7264eb766c531ae0ab2c00385294be58bc5031ef43ad1","impliedFormat":99},{"version":"1c261f5504d0175be4f1b6b99f101f4c3a129a5a29fc768e65c52d6861ca5784","impliedFormat":99},{"version":"f0e69b5877b378d47cbac219992b851e2bbc0f7e3a3d3579d67496dabd341ec4","impliedFormat":99},{"version":"b5ea27f19a54feca5621f5ba36a51026128ea98e7777e5d47f08b79637527cf5","impliedFormat":99},{"version":"27d065f5610a5a3e91f4941e5ebedea19507945bff28c94677909620424aa382","impliedFormat":99},{"version":"c133db4b6c17a96db7fa36607c59151dec1e5364d9444cbe15e8c0ea4943861e","impliedFormat":99},{"version":"3a0514f77606d399838431166a0da6dbd9f3c7914eae5bbfbd603e3b6a552959","impliedFormat":99},{"version":"fa568f8d605595e1cffbfca3e8c8c492cf88ae2c6ed151f6c64acf0f9e8c25d8","impliedFormat":99},{"version":"c76fb65cb2eb09a0ee91f02ff5b43a607b94a12c34d16d005b2c0afc62870766","impliedFormat":99},{"version":"cf7af60a0d4308a150df0ab01985aabb1128638df2c22dd81a2f5b74495a3e45","impliedFormat":99},{"version":"0291865a9ce360953eaa52512c9ffab4c7c3cfc69a3f022b303601a502455670","impliedFormat":99},{"version":"42d8c168ca861f0a5b3c4c1a91ff299f07e07c2dd31532cd586fd1ee7b5e3ae6","impliedFormat":99},{"version":"a29faa7cb35193109ec1777562ca52c72e7382ffe9916b26859b5874ad61ff29","impliedFormat":99},{"version":"15bdf2eeef95500ba9f1602896e288cb425e50462b77a07fa4ca23f1068abb21","impliedFormat":99},{"version":"452db58fd828ab87401f6cecc9a44e75fa40716cc4be80a6f66cf0a43c5a60cc","impliedFormat":99},{"version":"54592d0215a3fd239a6aa773b1e1a448dc598b7be6ce9554629cd006ee63a9d6","impliedFormat":99},{"version":"9ee28966bb038151e21e240234f81c6ba5be6fde90b07a9e57d4d84ae8bc030c","impliedFormat":99},{"version":"2fe1c1b2b8a41c22a4e44b0ac7316323d1627d8c72f3f898fa979e8b60d83753","impliedFormat":99},{"version":"956e43b28b5244b27fdb431a1737a90f68c042e162673769330947a8d727d399","impliedFormat":99},{"version":"92a2034da56c329a965c55fd7cffb31ccb293627c7295a114a2ccd19ab558d28","impliedFormat":99},{"version":"c1b7957cd42a98ab392ef9027565404e5826d290a2b3239a81fbac51970b2e63","impliedFormat":99},{"version":"4861ee34a633706bcbba4ea64216f52c82c0b972f3e790b14cf02202994d87c5","impliedFormat":99},{"version":"7af4e33f8b95528de005282d6cca852c48d293655dd7118ad3ce3d4e2790146f","impliedFormat":99},{"version":"df345b8d5bf736526fb45ae28992d043b2716838a128d73a47b18efffe90ffa7","impliedFormat":99},{"version":"d22c5b9861c5fc08ccd129b5fc3dcdc7536e053c0c1d463f3ab39820f751c923","impliedFormat":99},{"version":"dcc38f415a89780b34d827b45493d6dbadb05447d194feb4498172e508c416ac","impliedFormat":99},{"version":"7e917e3b599572a2dd9cfa58ff1f68fda9e659537c077a2c08380b2f2b14f523","impliedFormat":99},{"version":"20b108e922abd1c1966c3f7eb79e530d9ac2140e5f51bfa90f299ad5a3180cf9","impliedFormat":99},{"version":"2bc82315d4e4ed88dc470778e2351a11bc32d57e5141807e4cdb612727848740","impliedFormat":99},{"version":"e2dd1e90801b6cd63705f8e641e41efd1e65abd5fce082ef66d472ba1e7b531b","impliedFormat":99},{"version":"a3cb22545f99760ba147eec92816f8a96222fbb95d62e00706a4c0637176df28","impliedFormat":99},{"version":"287671a0fe52f3e017a58a7395fd8e00f1d7cd9af974a8c4b2baf35cfda63cfa","impliedFormat":99},{"version":"e2cdad7543a43a2fb6ed9b5928821558a03665d3632c95e3212094358ae5896b","impliedFormat":99},{"version":"326a980e72f7b9426be0805774c04838e95195b467bea2072189cefe708e9be7","impliedFormat":99},{"version":"e3588e9db86c6eaa572c313a23bf10f7f2f8370e62972996ac79b99da065acaa","impliedFormat":99},{"version":"1f4700278d1383d6b53ef1f5aecd88e84d1b7e77578761838ffac8e305655c29","impliedFormat":99},{"version":"6362a4854c52419f71f14d3fee88b3b434d1e89dcd58a970e9a82602c0fd707a","impliedFormat":99},{"version":"fb1cc1e09d57dfeb315875453a228948b904cbe1450aaf8fda396ff58364a740","impliedFormat":99},{"version":"50652ed03ea16011bb20e5fa5251301bb7e88c80a6bf0c2ea7ed469be353923b","impliedFormat":99},{"version":"d388e0c1c9a42d59ce88412d3f6ce111f63ce2ff558e0a3f84510092431dfee0","impliedFormat":99},{"version":"35ea0a1e995aef5ae19b1553548a793c76eb31bdf7fef30bc74656660c3a09c3","impliedFormat":99},{"version":"56f4ae4e34cbff1e4158ccada4feea68a357bae86adb3bedaa65260d0af579df","impliedFormat":99},{"version":"6eebdacf8e85b2cf70ad7a2f43ead1f8acccfd214ab57ff1d989e9e35661015d","impliedFormat":99},{"version":"a4f90a12cbfac13b45d256697ce70a6b4227790ca2bf3898ffd2359c19eab4eb","impliedFormat":99},{"version":"4a6c2ac831cff2d8fa846dfb010ee5f7afce3f1b9bd294298ee54fdc555f1161","impliedFormat":99},{"version":"8395cc6350a8233a4da1c471bdac6b63d5ed0a0605da9f1e0c50818212145b5b","impliedFormat":99},{"version":"b58dda762d6bd8608d50e1a9cc4b4a1663a9d4aa50a9476d592a6ecdc6194af4","impliedFormat":99},{"version":"bc14cb4f3868dab2a0293f54a8fe10aa23c0428f37aece586270e35631dd6b67","impliedFormat":99},{"version":"2d4530d6228c27906cb4351f0b6af52ff761a7fab728622c5f67e946f55f7f00","impliedFormat":99},{"version":"ec359d001e98bf56b0e06b4882bd1421fd088d4d181dff3138f52175c0582a51","impliedFormat":99},{"version":"2ac845b89cae82a74e549c7c1d9f983f993033ba14376ea83cd13b3e38a8537a","impliedFormat":99},{"version":"a8d491b4eb728dab387933a518d9e1f32d5c9d5a5225ff134d847b0c8cc9c8ce","impliedFormat":99},{"version":"668f628ae1f164dcf6ea8f334ea6a629d5d1a8e7a2754245720a8326ff7f1dc0","impliedFormat":99},{"version":"5105c00e1ae2c0a17c4061e552fa9ec8c74ec41f69359b8719cb88523781018e","impliedFormat":99},{"version":"d2c033af6f2ea426de4657177f0e548ee5bed6756c618a8b3b296c424e542388","impliedFormat":99},{"version":"45be28de10e6f91aacb29fbd2955ba65a0fd3d1b5fddefece9c381043e91e68d","impliedFormat":99},{"version":"77dabe31d44c48782c529d5c9acddc41f799bf9b424b259596131efc77355478","impliedFormat":99},{"version":"6801ebe0b7ab3b24832bc352e939302f481496b5d90b3bc128c00823990d7c7d","impliedFormat":99},{"version":"0abb1feddc76a0283c7e8e8910c28b366612a71f8bfdd5ca42271d7ad96e50b2","impliedFormat":99},{"version":"ac56b2f316b70d6a727fdbbcfa8d124bcd1798c293487acb2b27a43b5c886bb0","impliedFormat":99},{"version":"d849376baf73ec0b17ffd29de702a2fdbbe0c0390ec91bebf12b6732bf430d29","impliedFormat":99},{"version":"40dcd290c10cc7b04a55f7ee5c76f77250f48022cea1624eba2c0589753993b4","impliedFormat":99},{"version":"0f9c9f7d13a5cf1c63eb56318b6ae4dfa2accef1122b2e88b5ed1c22a4f24e3b","impliedFormat":99},{"version":"9c4178832d47d29c9af3b1377c6b019f7813828887b80bb96777393f700eb260","impliedFormat":99},{"version":"dddb8672a0a6d0e51958d539beb906669a0f1d3be87425aaa0ae3141a9ad6402","impliedFormat":99},{"version":"6b514d5159d0d189675a1d5a707ba068a6da6bc097afb2828aae0c98d8b32f08","impliedFormat":99},{"version":"39d7dbcfec85393fedc8c7cf62ee93f7e97c67605279492b085723b54ccaca8e","impliedFormat":99},{"version":"81882f1fa8d1e43debb7fa1c71f50aa14b81de8c94a7a75db803bb714a9d4e27","impliedFormat":99},{"version":"c727a1218e119f1549b56dd0057e721d67cfa456c060174bac8a5594d95cdb2d","impliedFormat":99},{"version":"bca335fd821572e3f8f1522f6c3999b0bc1fe3782b4d443c317df57c925543ed","impliedFormat":99},{"version":"73332a05f142e33969f9a9b4fb9c12b08b57f09ada25eb3bb94194ca035dc83d","impliedFormat":99},{"version":"c366621e6a8febe9bbca8c26275a1272d99a45440156ca11c860df7aa9d97e6d","impliedFormat":99},{"version":"d9397a54c21d12091a2c9f1d6e40d23baa327ae0b5989462a7a4c6e88e360781","impliedFormat":99},{"version":"dc0e2f7f4d1f850eb20e226de8e751d29d35254b36aa34412509e74d79348b75","impliedFormat":99},{"version":"af3102f6aec26d237c750decefdc7a37d167226bb1f90af80e1e900ceb197659","impliedFormat":99},{"version":"dea1773a15722931fbfe48c14a2a1e1ad4b06a9d9f315b6323ee112c0522c814","impliedFormat":99},{"version":"b26e3175cf5cee8367964e73647d215d1bf38be594ac5362a096c611c0e2eea8","impliedFormat":99},{"version":"4280093ace6386de2a0d941b04cff77dda252f59a0c08282bd3d41ccc79f1a50","impliedFormat":99},{"version":"fe17427083904947a4125a325d5e2afa3a3d34adaedf6630170886a74803f4a2","impliedFormat":99},{"version":"0246f9f332b3c3171dcdd10edafab6eccb918c04b2509a74e251f82e8d423fb7","impliedFormat":99},{"version":"f6ef33c2ff6bbdf1654609a6ca52e74600d16d933fda1893f969fc922160d4d7","impliedFormat":99},{"version":"1abd22816a0d992fd33b3465bf17a5c8066bf13a8c6ca4fc0cd28884b495762d","impliedFormat":99},{"version":"82032a08169ea01cf01aa5fd3f7a02f1f417697df5e42fc27d811d23450bc28d","impliedFormat":99},{"version":"9c8cbd1871126e98602502444cffb28997e6aa9fbc62d85a844d9fd142e9ae1b","impliedFormat":99},{"version":"b0e20abc4a73df8f97b3f1223cc330e9ba3b2062db1908aa2a97754a792139ac","impliedFormat":99},{"version":"bc1f2428d738ab789339030078adf313100471c37d8d69f6cf512a5715333afc","impliedFormat":99},{"version":"dc500c6a23c9432849c82478bdab762fa7bdf9245298c2279a7063dd05ae9f9a","impliedFormat":99},{"version":"cd1b6a2503fc554dcab602e053565c4696e4262b641b897664d840a61f519229","impliedFormat":99},{"version":"af1580cd202df0e33fc592fe1d75d720c15930a4127a87633542b33811316724","impliedFormat":99},{"version":"538608f9242fbf4260d694f19c95b454f855152ab3b882ac72114f19b08984d2","impliedFormat":99},{"version":"cd0e1083bd8ae52661544329c311836abdda5d5dda89fc5d7ab038956c0394e8","impliedFormat":99},{"version":"9ea6fea875302b2bb3976f7431680affc45a4319499d057ce12be04e4f487bf9","impliedFormat":99},{"version":"66e0c3f9875da7be383d0c78c8b8940b6ebae3c6a0fbfd7e77698b5e8ade3b05","impliedFormat":99},{"version":"da38d326fe6a72491cad23ea22c4c94dfc244363b6a3ec8a03b5ad5f4ee6337b","impliedFormat":99},{"version":"9742dc7ead36bcc08712e54b7d27083ed6144973b82c763106a876a9180920da","impliedFormat":99},{"version":"517a31c520e08c51cfe6d372bc0f5a6bf7bd6287b670bcaa180a1e05c6d4c4da","impliedFormat":99},{"version":"0263d94b7d33716a01d3e3a348b56c2c59e6d897d89b4210bdbf27311127223c","impliedFormat":99},{"version":"d0120e583750834bf1951c8b9936781a98426fe8d3ad3d951f96e12f43090469","impliedFormat":99},{"version":"a2e6a99c0fb4257e9301d592da0834a2cb321b9b1e0a81498424036109295f8b","impliedFormat":99},{"version":"c6b5ae9f99f1fccadc23d56307a28c8490c48e687678f2cafa006b3b9b8e73e4","impliedFormat":99},{"version":"eae178ee8d7292bcd23be2b773dda60b055bc008a0ddce2acc1bfe30cc36cf04","impliedFormat":99},{"version":"e0b5f197fb47b39a4689ad356b8488e335bbf399b283492c0ffae0cfda88837b","impliedFormat":99},{"version":"adb7aa4b8d8b423d0d7e78b6a8affb88c3a32a98e21cd54fcafd570ad8588d0c","impliedFormat":99},{"version":"643e22362c15304f344868ec0e7c0b4a1bc2b56c8b81d5b9f0ee0a6f3c690fff","impliedFormat":99},{"version":"ead5220d1cd43d1f84829c5734bd540d0e80ef6f50218a4ee03b5ec3cf178bcd","impliedFormat":99},{"version":"4e095c719ab15aa641872ab286d8be229562c4b3dc4eec79888bc4e8e0426ed8","impliedFormat":99},{"version":"6022afc443d2fe0af44f2f5912a0bdd7d17e32fd1d49e6c5694cbc2c0fa11a8f","impliedFormat":99},{"version":"6dd3f823ac463041d89c84d7bbf74931a38d874a9716040492ac7a16c7d2f023","impliedFormat":99},{"version":"a5bf6d947ce6a4f1935e692c376058493dbfbd9f69d9b60bbaf43fd5d22c324b","impliedFormat":99},{"version":"4927ef881b202105603e8416d63f317a1f1ea47d321e32826b9b20a44caa55e2","impliedFormat":99},{"version":"914d11655546eba92ac24d73e6efdb350738bcf4a9a161a2b96e904bad4de809","impliedFormat":99},{"version":"f9fdd2efc37eefc321338d39b5bd341b2aa82292b72610cb900f205f6803ff66","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"ab043784438ef8945a95124d2325308554c8b53dc92ce801f09702e79234282a","impliedFormat":99},{"version":"3fb3501967b0f0224023736d0ad41419482b88a69122e5cb46a50ae5635adb6a","impliedFormat":99},{"version":"06d66a6723085295f3f0ecd254a674478c4dba80e7b01c23a9693a586682252f","impliedFormat":99},{"version":"cc411cd97607f993efb008c8b8a67207e50fdd927b7e33657e8e332c2326c9f3","impliedFormat":99},{"version":"b144c6cdf6525af185cd417dc85fd680a386f0840d7135932a8b6839fdee4da6","impliedFormat":99},{"version":"e8dfa804c81c6b3e3dc411ea7cea81adf192fe20b7c6db21bf5574255f1c9c0e","impliedFormat":99},{"version":"572ee8f367fe4068ccb83f44028ddb124c93e3b2dcc20d65e27544d77a0b84d3","impliedFormat":99},{"version":"7d604c1d876ef8b7fec441cf799296fd0d8f66844cf2232d82cf36eb2ddff8fe","impliedFormat":99},{"version":"7b86b536d3e8ca578f8fbc7e48500f89510925aeda67ed82d5b5a3213baf5685","impliedFormat":99},{"version":"861596a3b58ade9e9733374bd6b45e5833b8b80fd2eb9fe504368fc8f73ae257","impliedFormat":99},{"version":"a3da7cf20826f3344ad9a8a56da040186a1531cace94e2788a2db795f277df94","impliedFormat":99},{"version":"900a9da363740d29e4df6298e09fad18ae01771d4639b4024aa73841c6a725da","impliedFormat":99},{"version":"442f6a9e83bb7d79ff61877dc5f221eea37f1d8609d8848dfbc6228ebc7a8e90","impliedFormat":99},{"version":"4e979a85e80e332414f45089ff02f396683c0b5919598032a491eb7b981fedfd","impliedFormat":99},{"version":"6d3496cac1c65b8a645ecbb3e45ec678dd4d39ce360eecbcb6806a33e3d9a7ae","impliedFormat":99},{"version":"9909129eb7301f470e49bbf19f62a6e7dcdfe9c39fdc3f5030fd1578565c1d28","impliedFormat":99},{"version":"95cdad1f759b74b014cea71cf1a68567b17e4165ec8139930305ba1e21b10a0c","impliedFormat":99},{"version":"7e4fc245cc369ba9c1a39df427563e008b8bfe5bf73c6c3f5d3a928d926a8708","impliedFormat":99},{"version":"3aa7c4c9a6a658802099fb7f72495b9ba80d8203b2a35c4669ddfcbbe4ff402b","impliedFormat":99},{"version":"d39330cb139d83d5fa5071995bb615ea48aa093018646d4985acd3c04b4e443d","impliedFormat":99},{"version":"663800dc36a836040573a5bb161d044da01e1eaf827ccc71a40721c532125a80","impliedFormat":99},{"version":"f28691d933673efd0f69ac7eae66dea47f44d8aa29ec3f9e8b3210f3337d34df","impliedFormat":99},{"version":"ae89fb16575dc616df3ff907c6338d94cfa731881ecef82155b21ab4134b3826","impliedFormat":99},{"version":"687208233ae7a969baa2d0c565c9f24eb4cb1e64d6cfb30f71afec9e929e58c2","impliedFormat":99},{"version":"418ec48301149dd2c0db1dbd83305ae61fb8517accebdd4b02e72d66b27b6cc7","impliedFormat":99},{"version":"6b7c511d20403a5a1e3f5099056bc55973479960ceff56c066ff0dd14174c53c","impliedFormat":99},{"version":"48b83bd0962dac0e99040e91a49f794d341c7271e1744d84e1077e43ecda9e04","impliedFormat":99},{"version":"b8fd98862aa6e7ea8fe0663309f15b15f54add29d610e70d62cbccff39ea5065","impliedFormat":99},{"version":"ffa53626a9de934a9447b4152579a54a61b2ea103dbbf02b0f65519bfef98cdd","impliedFormat":99},{"version":"d171a70a6e5ff6700fa3e2f0569a15b12401ad9bc5f4d650f8b844f7f20ef977","impliedFormat":99},{"version":"b6e9b15869788861fff21ec7f371bda9a2e1a1b15040cc005db4d2e792ece5ca","impliedFormat":99},{"version":"22c844fbe7c52ee4e27da1e33993c3bbb60f378fa27bb8348f32841baecb9086","impliedFormat":99},{"version":"dee6934166088b55fe84eae24de63d2e7aae9bfe918dfe635b252f682ceca95a","impliedFormat":99},{"version":"c39b9c4f5cc37a8ed51bef12075f5d023135e11a9b215739fd0dd87ee8da804a","impliedFormat":99},{"version":"db027bc9edef650cff3cbe542959f0d4ef8532073308c04a5217af25fc4f5860","impliedFormat":99},{"version":"a4e026fe4d88d36f577fbd38a390bd846a698206b6d0ca669a70c226e444af1b","impliedFormat":99},{"version":"b5a0d4f7a2d54acbe0d05f4d9f5c9efaaeddc06c3ee0ca0c66aba037e1dca34b","impliedFormat":99},{"version":"fa910f88f55844718a277ee9519206abce66629de2692676c3e2ad1c9278bdfd","impliedFormat":99},{"version":"a886a5af337cce28fe3e956fd0ed921345933163f5b14f739266ba9400b92484","impliedFormat":99},{"version":"9ae87bd743e93b6384efbfa306bde1fa70b6ff27533983e1e1fe08a4ef7037b8","impliedFormat":99},{"version":"5f7c0a4aad7a3406db65d674a5de9e36e0d08773f638b0f49d70e441de7127c0","impliedFormat":99},{"version":"29062edaa0d16f06627831f95681877b49c576c0a439ccd1a2f2a8173774d6b2","impliedFormat":99},{"version":"49fcfda71ea42a9475b530479a547f93d4e88c2deb0c713845243f5c08af8d76","impliedFormat":99},{"version":"6d640d840f53fb5f1613829a7627096717b9b0d98356fb86bb771b6168299e2e","impliedFormat":99},{"version":"cee41a6af55d502f3863fe3238a75108dea16ac9c7339e96c2974ad3babd6d78","impliedFormat":99},{"version":"6bd4aa523d61e94da44cee0ee0f3b6c8d5f1a91ef0bd9e8a8cf14530b0a1a6df","impliedFormat":99},{"version":"e3ee1b2216275817b78d5ae0a448410089bc1bd2ed05951eb1958b66affbdec0","impliedFormat":99},{"version":"17da8f27c18a2a07c1a48feb81887cb69dacc0af77c3257217016dacf9202151","impliedFormat":99},{"version":"45a7a6658917b9178eaf4288b8a22757dba3bc24676e166f28a3c2a4e858c4e0","impliedFormat":99},{"version":"7c699b5fea191ce032277394b78fa00208f26901efd288636d932c4b35ec4704","impliedFormat":99},{"version":"2fac70f99da22181acfda399eed248b47395a8eeb33c9c82d75ca966aee58912","impliedFormat":99},{"version":"fa2c48fd724dd8f0e11dfb04f20d727a2595890bfa95419c83b21ed575ed77d1","impliedFormat":99},{"version":"8e48713bdd38b35d69f9242d463744aed4950acb0fd56c22b33e2b8069f5b0fb","impliedFormat":99},{"version":"20be44c04e883d5fe7840d630a8d0656e95b00c2d6eebab9ab253275e7170534","impliedFormat":99},{"version":"3b674288fbdc0ff0ed2b7fc2839014c2ff209c84999fd06b6339347d0f976a85","impliedFormat":99},{"version":"cc2958d8abd86edcdf05542bb1b40ba659db5bc5a2560720cde08e8950e63bc1","impliedFormat":99},{"version":"e44e0ea195d68c0aea951809bda325322085008c0622fc4ee44db5359f37b747","impliedFormat":99},{"version":"21053659ad72fe51b9dfbde4fa14dbbac0912359fa37c9a5aa75f188782b2ee8","impliedFormat":99},{"version":"e297bdcb7db008d8d7d0481f2c935a9f7f0a338f41b7e5d1cec6a7744140a4ff","impliedFormat":99},{"version":"ef816ad6735a271c4c8035a1914c3a9beaaa90b3c174da312d26bce8736e56ec","impliedFormat":99},{"version":"7202026e24c5e5b7b6e5fe6b99455a91058ef82e74a5cdf6a3a4136b7ae9c080","impliedFormat":99},{"version":"87561cc8a2d7444adf4eed4b3f15bef8c6098cceb0e7617fba1cc45d187ac8c8","impliedFormat":99},{"version":"b52f7568bb9b00bcee6c4929938226541c09d86b849b8ba8db2fe2a8bba46f49","impliedFormat":99},{"version":"d42e1872d53ebb213e7bbe15e5fecdcaa9a490d2f2a2b035ee9cf4a6d3f1e44e","impliedFormat":99},{"version":"2262d96c02073dcb17a31ae8c738651ebff75f102522eae686f5462658b687a8","impliedFormat":99},{"version":"fd40c454d56e1d14e60ce13f3bc60c7fdb9bc70c6ef9c7bfafec1f0eb5d8075b","impliedFormat":1},{"version":"155ced96d70533d95c481061e2691802fae7cfb96869d7c85ac8622f53b51cb7","impliedFormat":1},{"version":"3689b6f599705380d2ceaccb4e58eec5c9439a7a5635d6e37c1ba66ed7c34b35","impliedFormat":99},{"version":"6cf0d3cc668cdbb01358ef7c2e41bbcc14d8d8e4ca424a1b6d2838d9a1cae8ce","impliedFormat":99},{"version":"b7bd70307671536c735389e0a1748555c438c392dfceb6f2ac3aa0a50ca82530","impliedFormat":99},{"version":"661c403f4c5bbf259e03f4fdc3a9e3f51ad562684f702e1b842e6c5336de0752","impliedFormat":99},{"version":"415dd92247ca21db682f75ba7e6289ab2d093cd34c6f471c6c789afd047ad4f3","impliedFormat":99},{"version":"39d80ec3c018d7ffe7c99ddd3a7b6844b3376c15e52937a7687d2c2828830fd0","impliedFormat":99},{"version":"828f8b38dff4e5c47b0112cb437da379c720f0360d40d392457c9775f30c8ae8","impliedFormat":99},{"version":"d8b29e5a1a4db41c00cfed03db63c835aab6d46664f90f10fd2195db789a2200","impliedFormat":99},"10b981156c3bd1db5b9146245e30473e1fa2b58c98346f8acdb7538947df3365","957f26931c2ed5af42709bad6abb710f43631371014ef4c81fac9d5f419d4249","447f663a195a5c8d2c4ba312f9115387092f87269f630010e00c5972f64deec5","600dc6bc372ea5db0ecf68eef984fd5d509bef523ab355230a76ed227781de11","4e7d11e3921bd8923d16ce24d0d3e56053dba6f9c683ab63674c7d2bb0298a06","e0ad30d8cc36c538119167dae544bee3c93daefb2269553a8e45a02a87534257","f06dd40409e73885ed1daecf8afdc0ba400c84bc921742be9fe4a63fdbf03cdc","f1c72d16f8460774f81d19edc0669252a2fa32de15c5d0c5024b6c7e213587de","50980b4f45fc54d0874da9ae7fed6628981b618fe7cbba94952e60479119b23c","0e8cab67ed21b45b6103c42d45abb001b7f5c03a8404a787c2adb76582bebc29",{"version":"155d2e6caadb7de14cd4c337164f7febade2bcefb7645c7094158cd80e4b9c1f","impliedFormat":99},{"version":"fcc60c64e9ff115a2ddb9fcaeb19d45668b353ccafc55054588c0ffb5bfb7a53","impliedFormat":99},{"version":"0c2f0f87ad46e9b8f458f4392e355a07d8231d07ab4648c9cb8b108d3c947bb0","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"54f6ec6ea75acea6eb23635617252d249145edbc7bcd9d53f2d70280d2aef953","impliedFormat":1},{"version":"c25ce98cca43a3bfa885862044be0d59557be4ecd06989b2001a83dcf69620fd","impliedFormat":1},{"version":"8e71e53b02c152a38af6aec45e288cc65bede077b92b9b43b3cb54a37978bb33","impliedFormat":1},{"version":"754a9396b14ca3a4241591afb4edc644b293ccc8a3397f49be4dfd520c08acb3","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"de2316e90fc6d379d83002f04ad9698bc1e5285b4d52779778f454dd12ce9f44","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"2da997a01a6aa5c5c09de5d28f0f4407b597c5e1aecfd32f1815809c532650a2","impliedFormat":1},{"version":"5d26d2e47e2352def36f89a3e8bf8581da22b7f857e07ef3114cd52cf4813445","impliedFormat":1},{"version":"3db2efd285e7328d8014b54a7fce3f4861ebcdc655df40517092ed0050983617","impliedFormat":1},{"version":"d5d39a24c759df40480a4bfc0daffd364489702fdbcbdfc1711cde34f8739995","impliedFormat":1},"6e943ccddb5e26c84793edc41d9ca14d71ac980f2fcf2b17ba874e64adfaef16","4d9c5742d3c56b0aa7f9aece6be317528d9e99f9ccccbc99f39848b7a0a47205"],"root":[[490,499],517,518],"options":{"allowJs":true,"checkJs":false,"esModuleInterop":true,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[488,1],[475,2],[473,3],[471,4],[470,5],[474,6],[468,6],[472,7],[476,8],[478,9],[466,5],[482,10],[485,11],[487,12],[484,13],[486,14],[483,5],[477,1],[479,15],[469,5],[501,16],[500,5],[502,17],[104,18],[105,18],[106,19],[65,20],[107,21],[108,22],[109,23],[60,5],[63,24],[61,5],[62,5],[110,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,30],[118,5],[117,31],[119,32],[120,33],[121,34],[103,35],[64,5],[122,36],[123,37],[124,38],[157,39],[125,40],[126,41],[127,42],[128,43],[129,44],[130,45],[131,46],[132,47],[133,48],[134,49],[135,49],[136,50],[137,5],[138,5],[139,51],[141,52],[140,53],[142,54],[143,55],[144,56],[145,57],[146,58],[147,59],[148,60],[149,61],[150,62],[151,63],[152,64],[153,65],[154,66],[155,67],[156,68],[165,69],[164,70],[163,69],[458,71],[462,72],[407,73],[218,5],[168,74],[456,75],[457,76],[166,5],[459,77],[240,78],[183,79],[206,80],[215,81],[186,81],[187,82],[188,82],[214,83],[189,84],[190,82],[196,85],[191,86],[192,82],[193,82],[216,87],[185,88],[194,81],[195,86],[197,89],[198,89],[199,86],[200,82],[201,81],[202,82],[203,90],[204,90],[205,82],[227,91],[235,92],[213,93],[243,94],[207,95],[209,96],[210,93],[221,97],[229,98],[234,99],[231,100],[236,101],[224,102],[225,103],[232,104],[233,105],[239,106],[230,107],[208,77],[241,108],[184,77],[228,109],[226,110],[212,111],[211,93],[242,112],[217,113],[237,5],[238,114],[461,115],[167,77],[278,5],[295,116],[244,117],[269,118],[276,119],[245,119],[246,119],[247,120],[275,121],[248,122],[263,119],[249,123],[250,123],[251,120],[252,119],[253,120],[254,119],[277,124],[255,119],[256,119],[257,125],[258,119],[259,119],[260,125],[261,120],[262,119],[264,126],[265,125],[266,119],[267,120],[268,119],[290,127],[286,128],[274,129],[298,130],[270,131],[271,129],[287,132],[279,133],[288,134],[285,135],[283,136],[289,137],[282,138],[294,139],[284,140],[296,141],[291,142],[280,143],[273,144],[272,129],[297,145],[281,113],[292,5],[293,146],[464,147],[465,148],[463,149],[171,150],[364,151],[299,152],[334,153],[343,154],[300,155],[301,155],[302,156],[303,155],[342,157],[304,158],[305,159],[306,160],[307,155],[344,161],[345,162],[308,155],[310,163],[311,154],[313,164],[314,165],[315,165],[316,156],[317,155],[318,155],[319,161],[320,156],[321,156],[322,165],[323,155],[324,154],[325,155],[326,156],[327,166],[312,167],[328,155],[329,156],[330,155],[331,155],[332,155],[333,155],[352,168],[359,169],[341,170],[369,171],[335,172],[337,173],[338,170],[347,174],[354,175],[358,176],[356,177],[360,178],[348,179],[349,103],[350,180],[357,181],[363,182],[355,183],[336,77],[365,184],[309,77],[353,185],[351,186],[340,187],[339,170],[366,188],[367,5],[368,189],[346,113],[361,5],[362,190],[179,191],[172,192],[222,77],[219,193],[223,194],[220,195],[418,196],[395,197],[401,198],[370,198],[371,198],[372,199],[400,200],[373,201],[388,198],[374,202],[375,202],[376,199],[377,198],[378,203],[379,198],[402,204],[380,198],[381,198],[382,205],[383,198],[384,198],[385,205],[386,199],[387,198],[389,206],[390,205],[391,198],[392,199],[393,198],[394,198],[415,207],[406,208],[421,209],[396,210],[397,211],[410,212],[403,213],[414,214],[405,215],[413,216],[412,217],[417,218],[404,219],[419,220],[416,221],[411,222],[399,223],[398,211],[420,224],[409,225],[408,226],[175,227],[177,228],[176,227],[178,227],[181,229],[180,230],[182,231],[173,232],[454,233],[422,234],[447,235],[451,236],[450,237],[423,238],[452,239],[443,240],[444,236],[445,241],[446,242],[431,243],[439,244],[449,245],[455,246],[424,247],[425,245],[428,248],[434,249],[438,250],[436,251],[440,252],[429,253],[432,254],[437,255],[453,256],[435,257],[433,258],[430,259],[448,260],[426,261],[442,262],[427,113],[441,263],[169,113],[170,264],[174,265],[460,5],[489,266],[467,5],[162,267],[159,5],[161,268],[160,5],[158,5],[481,269],[480,270],[58,5],[59,5],[10,5],[11,5],[13,5],[12,5],[2,5],[14,5],[15,5],[16,5],[17,5],[18,5],[19,5],[20,5],[21,5],[3,5],[22,5],[23,5],[4,5],[24,5],[28,5],[25,5],[26,5],[27,5],[29,5],[30,5],[31,5],[5,5],[32,5],[33,5],[34,5],[35,5],[6,5],[39,5],[36,5],[37,5],[38,5],[40,5],[7,5],[41,5],[46,5],[47,5],[42,5],[43,5],[44,5],[45,5],[8,5],[51,5],[48,5],[49,5],[50,5],[52,5],[9,5],[53,5],[54,5],[55,5],[57,5],[56,5],[1,5],[81,271],[91,272],[80,271],[101,273],[72,274],[71,275],[100,5],[94,273],[99,276],[74,277],[88,278],[73,279],[97,280],[69,281],[68,5],[98,282],[70,283],[75,284],[76,5],[79,284],[66,5],[102,285],[92,286],[83,287],[84,288],[86,289],[82,290],[85,291],[95,5],[77,292],[78,293],[87,294],[67,295],[90,286],[89,284],[93,5],[96,296],[516,297],[507,298],[514,299],[509,5],[510,5],[508,300],[511,301],[503,5],[504,5],[515,302],[506,303],[512,5],[513,304],[505,305],[499,306],[517,307],[518,308],[493,309],[490,310],[494,311],[491,311],[498,312],[495,313],[492,313],[497,314],[496,309]],"affectedFilesPendingEmit":[499,517,518,493,490,494,491,498,495,492,497,496],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/db/drizzle.config.ts b/packages/db/drizzle.config.ts index 1a8dafd6..2609e04d 100644 --- a/packages/db/drizzle.config.ts +++ b/packages/db/drizzle.config.ts @@ -16,4 +16,4 @@ export default defineConfig({ dbCredentials: { url: process.env.DATABASE_URL, }, -}); \ No newline at end of file +}); diff --git a/packages/db/drizzle/meta/_journal.json b/packages/db/drizzle/meta/_journal.json index f04877e7..99263a05 100644 --- a/packages/db/drizzle/meta/_journal.json +++ b/packages/db/drizzle/meta/_journal.json @@ -1 +1 @@ -{"version":"7","dialect":"postgresql","entries":[]} \ No newline at end of file +{ "version": "7", "dialect": "postgresql", "entries": [] } diff --git a/packages/db/src/client.ts b/packages/db/src/client.ts index 5a91cc47..7464d57a 100644 --- a/packages/db/src/client.ts +++ b/packages/db/src/client.ts @@ -14,14 +14,19 @@ const globalForDb = globalThis as unknown as { let db: DrizzleDB | null = null; if (DATABASE_URL) { - const conn = globalForDb.conn ?? new Pool({ - connectionString: DATABASE_URL, - allowExitOnIdle: true, - connectionTimeoutMillis: 10000, // 10s timeout - idleTimeoutMillis: 10000, // 10s idle timeout - max: 10, // Increased from 1 to 10 to prevent starvation in dev/HMR - ssl: process.env.NODE_ENV === 'production' ? { rejectUnauthorized: true } : undefined, - }); + const conn = + globalForDb.conn ?? + new Pool({ + connectionString: DATABASE_URL, + allowExitOnIdle: true, + connectionTimeoutMillis: 10000, // 10s timeout + idleTimeoutMillis: 10000, // 10s idle timeout + max: 10, // Increased from 1 to 10 to prevent starvation in dev/HMR + ssl: + process.env.NODE_ENV === "production" + ? { rejectUnauthorized: true } + : undefined, + }); if (process.env.NODE_ENV !== "production") globalForDb.conn = conn; @@ -30,4 +35,4 @@ if (DATABASE_URL) { console.warn("DATABASE_URL not set - database operations will fail"); } -export { db }; \ No newline at end of file +export { db }; diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts index 038e54c4..0d69573a 100644 --- a/packages/db/src/index.ts +++ b/packages/db/src/index.ts @@ -8,11 +8,7 @@ export { hackathons, hackathonParticipants, hackathonTeams, - hackathonProjects + hackathonProjects, } from "./schemas/hackathons"; -export { - events, - eventCheckIns -} from "./schemas/events"; +export { events, eventCheckIns } from "./schemas/events"; export { auditLogs, securitySeverityEnum } from "./schemas/security"; -export { systemSettings } from "./schemas/settings"; \ No newline at end of file diff --git a/packages/db/src/schemas/admins.ts b/packages/db/src/schemas/admins.ts index c5310920..2e1b3176 100644 --- a/packages/db/src/schemas/admins.ts +++ b/packages/db/src/schemas/admins.ts @@ -22,4 +22,4 @@ export const adminsRelations = relations(admins, ({ one }) => ({ fields: [admins.userId], references: [users.id], }), -})); \ No newline at end of file +})); diff --git a/packages/db/src/schemas/auth.ts b/packages/db/src/schemas/auth.ts index 3ee22c67..d885370f 100644 --- a/packages/db/src/schemas/auth.ts +++ b/packages/db/src/schemas/auth.ts @@ -1,16 +1,27 @@ -import { pgTable, text, timestamp, primaryKey, integer, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + primaryKey, + integer, + index, +} from "drizzle-orm/pg-core"; import type { AdapterAccount } from "next-auth/adapters"; -export const users = pgTable("user", { - id: text("id").notNull().primaryKey(), - name: text("name"), - email: text("email").notNull(), - emailVerified: timestamp("emailVerified", { mode: "date" }), - image: text("image"), -}, (table) => [ - index("user_email_idx").on(table.email), - index("user_name_idx").on(table.name), -]); +export const users = pgTable( + "user", + { + id: text("id").notNull().primaryKey(), + name: text("name"), + email: text("email").notNull(), + emailVerified: timestamp("emailVerified", { mode: "date" }), + image: text("image"), + }, + (table) => [ + index("user_email_idx").on(table.email), + index("user_name_idx").on(table.name), + ], +); export const accounts = pgTable( "account", @@ -34,18 +45,20 @@ export const accounts = pgTable( columns: [account.provider, account.providerAccountId], }), index("account_user_id_idx").on(account.userId), - ] + ], ); -export const sessions = pgTable("session", { - sessionToken: text("sessionToken").notNull().primaryKey(), - userId: text("userId") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - expires: timestamp("expires", { mode: "date" }).notNull(), -}, (table) => [ - index("session_user_id_idx").on(table.userId), -]); +export const sessions = pgTable( + "session", + { + sessionToken: text("sessionToken").notNull().primaryKey(), + userId: text("userId") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + expires: timestamp("expires", { mode: "date" }).notNull(), + }, + (table) => [index("session_user_id_idx").on(table.userId)], +); export const verificationTokens = pgTable( "verificationToken", @@ -54,7 +67,5 @@ export const verificationTokens = pgTable( token: text("token").notNull(), expires: timestamp("expires", { mode: "date" }).notNull(), }, - (vt) => [ - primaryKey({ columns: [vt.identifier, vt.token] }), - ] -); \ No newline at end of file + (vt) => [primaryKey({ columns: [vt.identifier, vt.token] })], +); diff --git a/packages/db/src/schemas/events.ts b/packages/db/src/schemas/events.ts index ec4c418a..dc4348c7 100644 --- a/packages/db/src/schemas/events.ts +++ b/packages/db/src/schemas/events.ts @@ -1,4 +1,11 @@ -import { pgTable, text, timestamp, uuid, boolean, integer } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { members } from "./members"; @@ -29,8 +36,9 @@ export const eventCheckIns = pgTable("event_check_in", { userId: text("user_id") .notNull() .references(() => users.id, { onDelete: "cascade" }), - memberId: uuid("member_id") - .references(() => members.id, { onDelete: "set null" }), + memberId: uuid("member_id").references(() => members.id, { + onDelete: "set null", + }), checkInMethod: text("check_in_method", { enum: ["qr_code", "manual"] }) .notNull() .default("qr_code"), @@ -40,12 +48,21 @@ export const eventCheckIns = pgTable("event_check_in", { // Relations export const eventsRelations = relations(events, ({ one, many }) => ({ - createdBy: one(users, { fields: [events.createdById], references: [users.id] }), + createdBy: one(users, { + fields: [events.createdById], + references: [users.id], + }), checkIns: many(eventCheckIns), })); export const eventCheckInsRelations = relations(eventCheckIns, ({ one }) => ({ - event: one(events, { fields: [eventCheckIns.eventId], references: [events.id] }), + event: one(events, { + fields: [eventCheckIns.eventId], + references: [events.id], + }), user: one(users, { fields: [eventCheckIns.userId], references: [users.id] }), - member: one(members, { fields: [eventCheckIns.memberId], references: [members.id] }), -})); \ No newline at end of file + member: one(members, { + fields: [eventCheckIns.memberId], + references: [members.id], + }), +})); diff --git a/packages/db/src/schemas/hackathons.ts b/packages/db/src/schemas/hackathons.ts index 762e6431..cbc76d11 100644 --- a/packages/db/src/schemas/hackathons.ts +++ b/packages/db/src/schemas/hackathons.ts @@ -1,167 +1,223 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, json, index, unique } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + json, + index, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { members } from "./members"; // Hackathon events -export const hackathons = pgTable("hackathon", { - id: uuid("id").defaultRandom().primaryKey(), - name: text("name").notNull(), - description: text("description"), - location: text("location"), - startDate: timestamp("start_date").notNull(), - endDate: timestamp("end_date").notNull(), - registrationDeadline: timestamp("registration_deadline"), - hackingStartTime: timestamp("hacking_start_time"), - maxParticipants: integer("max_participants"), - currentParticipants: integer("current_participants").notNull().default(0), - status: text("status", { enum: ["draft", "open", "closed", "in_progress", "completed", "cancelled"] }) - .notNull() - .default("draft"), - prizes: json("prizes").$type<{ place: string; amount: number; description?: string }[]>(), - rules: text("rules"), - theme: text("theme"), - tracks: text("tracks").array(), - challenges: text("challenges").array(), - websiteUrl: text("website_url"), - isPublic: boolean("is_public").notNull().default(true), - judgingActive: boolean("judging_active").notNull().default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("hackathon_status_idx").on(table.status), -]); +export const hackathons = pgTable( + "hackathon", + { + id: uuid("id").defaultRandom().primaryKey(), + name: text("name").notNull(), + description: text("description"), + location: text("location"), + startDate: timestamp("start_date").notNull(), + endDate: timestamp("end_date").notNull(), + registrationDeadline: timestamp("registration_deadline"), + hackingStartTime: timestamp("hacking_start_time"), + maxParticipants: integer("max_participants"), + currentParticipants: integer("current_participants").notNull().default(0), + status: text("status", { + enum: [ + "draft", + "open", + "closed", + "in_progress", + "completed", + "cancelled", + ], + }) + .notNull() + .default("draft"), + prizes: + json("prizes").$type< + { place: string; amount: number; description?: string }[] + >(), + rules: text("rules"), + theme: text("theme"), + tracks: text("tracks").array(), + challenges: text("challenges").array(), + websiteUrl: text("website_url"), + isPublic: boolean("is_public").notNull().default(true), + judgingActive: boolean("judging_active").notNull().default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [index("hackathon_status_idx").on(table.status)], +); // Teams for hackathons -export const hackathonTeams = pgTable("hackathon_team", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - maxMembers: integer("max_members").notNull().default(4), - currentMembers: integer("current_members").notNull().default(0), - captainId: text("captain_id") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - isOpen: boolean("is_open").notNull().default(true), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("team_hackathon_id_idx").on(table.hackathonId), - index("team_captain_id_idx").on(table.captainId), -]); +export const hackathonTeams = pgTable( + "hackathon_team", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + maxMembers: integer("max_members").notNull().default(4), + currentMembers: integer("current_members").notNull().default(0), + captainId: text("captain_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + isOpen: boolean("is_open").notNull().default(true), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("team_hackathon_id_idx").on(table.hackathonId), + index("team_captain_id_idx").on(table.captainId), + ], +); // Individual participants -export const hackathonParticipants = pgTable("hackathon_participant", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - userId: text("user_id") - .notNull() - .references(() => users.id, { onDelete: "cascade" }), - memberId: uuid("member_id") - .references(() => members.id, { onDelete: "set null" }), +export const hackathonParticipants = pgTable( + "hackathon_participant", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + memberId: uuid("member_id").references(() => members.id, { + onDelete: "set null", + }), - // Registration info - registrationStatus: text("registration_status", { - enum: ["pending", "approved", "rejected", "waitlisted", "checked_in"] - }).notNull().default("pending"), + // Registration info + registrationStatus: text("registration_status", { + enum: ["pending", "approved", "rejected", "waitlisted", "checked_in"], + }) + .notNull() + .default("pending"), - // Team info (optional, participant can be solo) - teamId: uuid("team_id") - .references(() => hackathonTeams.id, { onDelete: "set null" }), + // Team info (optional, participant can be solo) + teamId: uuid("team_id").references(() => hackathonTeams.id, { + onDelete: "set null", + }), - // Personal info - firstName: text("first_name"), - lastName: text("last_name"), - phone: text("phone"), - age: integer("age"), - gender: text("gender"), - pronouns: text("pronouns"), - race: text("race"), - underrepresented: boolean("underrepresented").default(false), + // Personal info + firstName: text("first_name"), + lastName: text("last_name"), + phone: text("phone"), + age: integer("age"), + gender: text("gender"), + pronouns: text("pronouns"), + race: text("race"), + underrepresented: boolean("underrepresented").default(false), - // Academic info - school: text("school"), - major: text("major"), - firstGeneration: boolean("first_generation").default(false), - graduationYear: integer("graduation_year"), - levelOfStudy: text("level_of_study", { - enum: ["Freshman", "Sophomore", "Junior", "Senior", "Graduate", "PhD", "Other"] - }), - country: text("country"), + // Academic info + school: text("school"), + major: text("major"), + firstGeneration: boolean("first_generation").default(false), + graduationYear: integer("graduation_year"), + levelOfStudy: text("level_of_study", { + enum: [ + "Freshman", + "Sophomore", + "Junior", + "Senior", + "Graduate", + "PhD", + "Other", + ], + }), + country: text("country"), - // Experience - hackathonsAttended: integer("hackathons_attended"), - resumeUrl: text("resume_url"), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - whyAttend: text("why_attend"), + // Experience + hackathonsAttended: integer("hackathons_attended"), + resumeUrl: text("resume_url"), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + whyAttend: text("why_attend"), - // Logistics - shirtSize: text("shirt_size", { enum: ["XS", "S", "M", "L", "XL", "XXL"] }), - dietaryRestrictions: text("dietary_restrictions").array(), - emergencyContact: text("emergency_contact"), - emergencyPhone: text("emergency_phone"), - needsHardware: boolean("needs_hardware").default(false), + // Logistics + shirtSize: text("shirt_size", { enum: ["XS", "S", "M", "L", "XL", "XXL"] }), + dietaryRestrictions: text("dietary_restrictions").array(), + emergencyContact: text("emergency_contact"), + emergencyPhone: text("emergency_phone"), + needsHardware: boolean("needs_hardware").default(false), - // Consent - agreeToCodeOfConduct: boolean("agree_to_code_of_conduct").default(false), - mlhCodeOfConduct: boolean("mlh_code_of_conduct").default(false), - mlhDataSharing: boolean("mlh_data_sharing").default(false), - mlhInformationalEmails: boolean("mlh_informational_emails").default(false), + // Consent + agreeToCodeOfConduct: boolean("agree_to_code_of_conduct").default(false), + mlhCodeOfConduct: boolean("mlh_code_of_conduct").default(false), + mlhDataSharing: boolean("mlh_data_sharing").default(false), + mlhInformationalEmails: boolean("mlh_informational_emails").default(false), - // Participation tracking - checkedInAt: timestamp("checked_in_at"), - hasSubmittedProject: boolean("has_submitted_project").notNull().default(false), + // Participation tracking + checkedInAt: timestamp("checked_in_at"), + hasSubmittedProject: boolean("has_submitted_project") + .notNull() + .default(false), - registeredAt: timestamp("registered_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("participant_hackathon_id_idx").on(table.hackathonId), - index("participant_user_id_idx").on(table.userId), - index("participant_team_id_idx").on(table.teamId), - // Enforce one registration per user per hackathon at the DB level. - // This prevents duplicates even under concurrent requests that race - // past the application-level findFirst check inside the transaction. - unique("unique_participant_per_hackathon").on(table.hackathonId, table.userId), -]); + registeredAt: timestamp("registered_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("participant_hackathon_id_idx").on(table.hackathonId), + index("participant_user_id_idx").on(table.userId), + index("participant_team_id_idx").on(table.teamId), + // Enforce one registration per user per hackathon at the DB level. + // This prevents duplicates even under concurrent requests that race + // past the application-level findFirst check inside the transaction. + unique("unique_participant_per_hackathon").on( + table.hackathonId, + table.userId, + ), + ], +); // Project submissions -export const hackathonProjects = pgTable("hackathon_project", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - teamId: uuid("team_id") - .references(() => hackathonTeams.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description").notNull(), - technologies: text("technologies").array(), - tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE - challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL - isCreateX: boolean("is_create_x").default(false), - teamMembers: text("team_members").array(), // Store names/emails if not fully linked - githubUrl: text("github_url"), - demoUrl: text("demo_url"), - videoUrl: text("video_url"), - slides: text("slides"), - status: text("status", { enum: ["draft", "submitted", "judging", "winner"] }) - .notNull() - .default("draft"), - score: integer("score"), - ranking: integer("ranking"), - submittedAt: timestamp("submitted_at"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("project_hackathon_id_idx").on(table.hackathonId), - index("project_team_id_idx").on(table.teamId), - index("project_status_idx").on(table.status), -]); +export const hackathonProjects = pgTable( + "hackathon_project", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + teamId: uuid("team_id").references(() => hackathonTeams.id, { + onDelete: "cascade", + }), + name: text("name").notNull(), + description: text("description").notNull(), + technologies: text("technologies").array(), + tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE + challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL + isCreateX: boolean("is_create_x").default(false), + teamMembers: text("team_members").array(), // Store names/emails if not fully linked + githubUrl: text("github_url"), + demoUrl: text("demo_url"), + videoUrl: text("video_url"), + slides: text("slides"), + status: text("status", { + enum: ["draft", "submitted", "judging", "winner"], + }) + .notNull() + .default("draft"), + score: integer("score"), + ranking: integer("ranking"), + submittedAt: timestamp("submitted_at"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("project_hackathon_id_idx").on(table.hackathonId), + index("project_team_id_idx").on(table.teamId), + index("project_status_idx").on(table.status), + ], +); // Relations export const hackathonsRelations = relations(hackathons, ({ many }) => ({ @@ -170,101 +226,126 @@ export const hackathonsRelations = relations(hackathons, ({ many }) => ({ projects: many(hackathonProjects), })); -export const hackathonParticipantsRelations = relations(hackathonParticipants, ({ one }) => ({ - hackathon: one(hackathons, { - fields: [hackathonParticipants.hackathonId], - references: [hackathons.id], - }), - user: one(users, { - fields: [hackathonParticipants.userId], - references: [users.id], - }), - member: one(members, { - fields: [hackathonParticipants.memberId], - references: [members.id], - }), - team: one(hackathonTeams, { - fields: [hackathonParticipants.teamId], - references: [hackathonTeams.id], +export const hackathonParticipantsRelations = relations( + hackathonParticipants, + ({ one }) => ({ + hackathon: one(hackathons, { + fields: [hackathonParticipants.hackathonId], + references: [hackathons.id], + }), + user: one(users, { + fields: [hackathonParticipants.userId], + references: [users.id], + }), + member: one(members, { + fields: [hackathonParticipants.memberId], + references: [members.id], + }), + team: one(hackathonTeams, { + fields: [hackathonParticipants.teamId], + references: [hackathonTeams.id], + }), }), -})); +); -export const hackathonTeamsRelations = relations(hackathonTeams, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [hackathonTeams.hackathonId], - references: [hackathons.id], - }), - captain: one(users, { - fields: [hackathonTeams.captainId], - references: [users.id], +export const hackathonTeamsRelations = relations( + hackathonTeams, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [hackathonTeams.hackathonId], + references: [hackathons.id], + }), + captain: one(users, { + fields: [hackathonTeams.captainId], + references: [users.id], + }), + participants: many(hackathonParticipants), + projects: many(hackathonProjects), }), - participants: many(hackathonParticipants), - projects: many(hackathonProjects), -})); +); // Event scheduling for hackathons -export const hackathonEvents = pgTable("hackathon_event", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - type: text("type", { enum: ["workshop", "meal", "ceremony", "activity", "sponsor_session"] }).notNull(), - location: text("location").notNull(), - startTime: timestamp("start_time").notNull(), - endTime: timestamp("end_time").notNull(), - points: integer("points").notNull().default(0), // For gamification - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("event_hackathon_id_idx").on(table.hackathonId), - index("event_type_idx").on(table.type), -]); +export const hackathonEvents = pgTable( + "hackathon_event", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + type: text("type", { + enum: ["workshop", "meal", "ceremony", "activity", "sponsor_session"], + }).notNull(), + location: text("location").notNull(), + startTime: timestamp("start_time").notNull(), + endTime: timestamp("end_time").notNull(), + points: integer("points").notNull().default(0), // For gamification + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("event_hackathon_id_idx").on(table.hackathonId), + index("event_type_idx").on(table.type), + ], +); // QR Check-ins for events -export const hackathonEventAttendees = pgTable("hackathon_event_attendee", { - id: uuid("id").defaultRandom().primaryKey(), - eventId: uuid("event_id") - .notNull() - .references(() => hackathonEvents.id, { onDelete: "cascade" }), - participantId: uuid("participant_id") - .notNull() - .references(() => hackathonParticipants.id, { onDelete: "cascade" }), - checkedInAt: timestamp("checked_in_at").defaultNow().notNull(), -}, (table) => [ - index("event_attendee_event_id_idx").on(table.eventId), - index("event_attendee_participant_id_idx").on(table.participantId), - // Prevent duplicate check-ins - unique("unique_event_participant").on(table.eventId, table.participantId), -]); +export const hackathonEventAttendees = pgTable( + "hackathon_event_attendee", + { + id: uuid("id").defaultRandom().primaryKey(), + eventId: uuid("event_id") + .notNull() + .references(() => hackathonEvents.id, { onDelete: "cascade" }), + participantId: uuid("participant_id") + .notNull() + .references(() => hackathonParticipants.id, { onDelete: "cascade" }), + checkedInAt: timestamp("checked_in_at").defaultNow().notNull(), + }, + (table) => [ + index("event_attendee_event_id_idx").on(table.eventId), + index("event_attendee_participant_id_idx").on(table.participantId), + // Prevent duplicate check-ins + unique("unique_event_participant").on(table.eventId, table.participantId), + ], +); -export const hackathonEventsRelations = relations(hackathonEvents, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [hackathonEvents.hackathonId], - references: [hackathons.id], +export const hackathonEventsRelations = relations( + hackathonEvents, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [hackathonEvents.hackathonId], + references: [hackathons.id], + }), + attendees: many(hackathonEventAttendees), }), - attendees: many(hackathonEventAttendees), -})); +); -export const hackathonEventAttendeesRelations = relations(hackathonEventAttendees, ({ one }) => ({ - event: one(hackathonEvents, { - fields: [hackathonEventAttendees.eventId], - references: [hackathonEvents.id], +export const hackathonEventAttendeesRelations = relations( + hackathonEventAttendees, + ({ one }) => ({ + event: one(hackathonEvents, { + fields: [hackathonEventAttendees.eventId], + references: [hackathonEvents.id], + }), + participant: one(hackathonParticipants, { + fields: [hackathonEventAttendees.participantId], + references: [hackathonParticipants.id], + }), }), - participant: one(hackathonParticipants, { - fields: [hackathonEventAttendees.participantId], - references: [hackathonParticipants.id], - }), -})); +); -export const hackathonProjectsRelations = relations(hackathonProjects, ({ one }) => ({ - hackathon: one(hackathons, { - fields: [hackathonProjects.hackathonId], - references: [hackathons.id], - }), - team: one(hackathonTeams, { - fields: [hackathonProjects.teamId], - references: [hackathonTeams.id], +export const hackathonProjectsRelations = relations( + hackathonProjects, + ({ one }) => ({ + hackathon: one(hackathons, { + fields: [hackathonProjects.hackathonId], + references: [hackathons.id], + }), + team: one(hackathonTeams, { + fields: [hackathonProjects.teamId], + references: [hackathonTeams.id], + }), }), -})); \ No newline at end of file +); diff --git a/packages/db/src/schemas/index.ts b/packages/db/src/schemas/index.ts index 07163c4a..b1d51c42 100644 --- a/packages/db/src/schemas/index.ts +++ b/packages/db/src/schemas/index.ts @@ -7,4 +7,3 @@ export * from "./events"; export * from "./judge"; export * from "./stripe"; export * from "./security"; -export * from "./settings"; diff --git a/packages/db/src/schemas/judge.ts b/packages/db/src/schemas/judge.ts index c3355894..3eff12c0 100644 --- a/packages/db/src/schemas/judge.ts +++ b/packages/db/src/schemas/judge.ts @@ -1,136 +1,177 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, index, uniqueIndex } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + index, + uniqueIndex, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; import { hackathons } from "./hackathons"; -export const judges = pgTable("judge", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - name: text("name"), - email: text("email"), - phone: text("phone"), - company: text("company"), - title: text("title"), - specialty: text("specialty"), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - previousExperience: text("previous_experience"), - dietaryRestrictions: text("dietary_restrictions").array(), - shirtSize: text("shirt_size"), - whyJudge: text("why_judge"), - isActive: boolean("is_active").notNull().default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("judge_user_id_idx").on(table.userId), -]); - -export const judgeAssignments = pgTable("judge_assignment", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - assignedAt: timestamp("assigned_at").defaultNow().notNull(), - status: text("status", { enum: ["pending", "approved", "rejected"] }).notNull().default("pending"), - isLead: boolean("is_lead").notNull().default(false), - track: text("track"), -}, (table) => [ - index("assignment_judge_id_idx").on(table.judgeId), - index("assignment_hackathon_id_idx").on(table.hackathonId), -]); +export const judges = pgTable( + "judge", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name"), + email: text("email"), + phone: text("phone"), + company: text("company"), + title: text("title"), + specialty: text("specialty"), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + previousExperience: text("previous_experience"), + dietaryRestrictions: text("dietary_restrictions").array(), + shirtSize: text("shirt_size"), + whyJudge: text("why_judge"), + isActive: boolean("is_active").notNull().default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("judge_user_id_idx").on(table.userId), + index("judge_hackathon_id_idx").on(table.hackathonId), + unique("unique_judge_per_hackathon").on(table.userId, table.hackathonId), + ], +); +export const judgeAssignments = pgTable( + "judge_assignment", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + assignedAt: timestamp("assigned_at").defaultNow().notNull(), + status: text("status", { enum: ["pending", "approved", "rejected"] }) + .notNull() + .default("pending"), + isLead: boolean("is_lead").notNull().default(false), + track: text("track"), + }, + (table) => [ + index("assignment_judge_id_idx").on(table.judgeId), + index("assignment_hackathon_id_idx").on(table.hackathonId), + ], +); // Projects with table numbers for judging (extends hackathon projects concept) -export const judgingProjects = pgTable("judging_project", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - name: text("name").notNull(), - description: text("description"), - tableNumber: integer("table_number").notNull(), - zone: text("zone"), - category: text("category"), // e.g., "AI", "Web3", "Health", "Sustainability" - teamMembers: text("team_members"), // comma-separated or JSON string - projectUrl: text("project_url"), - repoUrl: text("repo_url"), - tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE - challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL - isCreateX: boolean("is_create_x").default(false), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("judging_project_hackathon_id_idx").on(table.hackathonId), - index("judging_project_table_idx").on(table.tableNumber), -]); +export const judgingProjects = pgTable( + "judging_project", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + name: text("name").notNull(), + description: text("description"), + tableNumber: integer("table_number").notNull(), + zone: text("zone"), + category: text("category"), // e.g., "AI", "Web3", "Health", "Sustainability" + teamMembers: text("team_members"), // comma-separated or JSON string + projectUrl: text("project_url"), + repoUrl: text("repo_url"), + tracks: text("tracks").array(), // Enum: Sports, Entertainment, Finance, Healthcare, databricks, sphinx, growth factor, figma, actian, safety kit, GEN-AI, CYBER, NONE + challenges: text("challenges").array(), // Enum: AGG, ASSURANT, AWS, CAPONE, GROWTH, MLH_MONGODB, MLH_STREAMLIT, MLH_TECH, MLH_CLOUDFLARE, MLH_REACH_CAPITAL + isCreateX: boolean("is_create_x").default(false), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [ + index("judging_project_hackathon_id_idx").on(table.hackathonId), + index("judging_project_table_idx").on(table.tableNumber), + ], +); // Judge votes/scores for projects -export const judgeVotes = pgTable("judge_vote", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - projectId: uuid("project_id") - .notNull() - .references(() => judgingProjects.id, { onDelete: "cascade" }), - score: integer("score").notNull(), // Total score (sum of all criteria, 5-50) - // Rubric scores (1-10 each) - scoreCreativity: integer("score_creativity"), // Creativity & Originality - scoreImpact: integer("score_impact"), // Impact & Relevance - scoreScope: integer("score_scope"), // Scope & Technical Depth - scoreClarity: integer("score_clarity"), // Clarity & Engagement - scoreSoundness: integer("score_soundness"), // Soundness & Accuracy - comment: text("comment"), - durationSeconds: integer("duration_seconds"), // how long the judge spent on this project - votedAt: timestamp("voted_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("vote_judge_id_idx").on(table.judgeId), - index("vote_project_id_idx").on(table.projectId), - // Unique constraint: one vote per judge per project (enforced at DB level) - uniqueIndex("vote_unique_idx").on(table.judgeId, table.projectId), -]); +export const judgeVotes = pgTable( + "judge_vote", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + projectId: uuid("project_id") + .notNull() + .references(() => judgingProjects.id, { onDelete: "cascade" }), + score: integer("score").notNull(), // Total score (sum of all criteria, 5-50) + // Rubric scores (1-10 each) + scoreCreativity: integer("score_creativity"), // Creativity & Originality + scoreImpact: integer("score_impact"), // Impact & Relevance + scoreScope: integer("score_scope"), // Scope & Technical Depth + scoreClarity: integer("score_clarity"), // Clarity & Engagement + scoreSoundness: integer("score_soundness"), // Soundness & Accuracy + comment: text("comment"), + durationSeconds: integer("duration_seconds"), // how long the judge spent on this project + votedAt: timestamp("voted_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("vote_judge_id_idx").on(table.judgeId), + index("vote_project_id_idx").on(table.projectId), + // Unique constraint: one vote per judge per project (enforced at DB level) + uniqueIndex("vote_unique_idx").on(table.judgeId, table.projectId), + ], +); // Map images for hackathon venues -export const hackathonMaps = pgTable("hackathon_map", { - id: uuid("id").defaultRandom().primaryKey(), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - imageUrl: text("image_url").notNull(), - name: text("name"), - order: integer("order").notNull().default(0), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("map_hackathon_id_idx").on(table.hackathonId), -]); +export const hackathonMaps = pgTable( + "hackathon_map", + { + id: uuid("id").defaultRandom().primaryKey(), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + imageUrl: text("image_url").notNull(), + name: text("name"), + order: integer("order").notNull().default(0), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [index("map_hackathon_id_idx").on(table.hackathonId)], +); // Track which tables a judge still needs to visit -export const judgeQueue = pgTable("judge_queue", { - id: uuid("id").defaultRandom().primaryKey(), - judgeId: uuid("judge_id") - .notNull() - .references(() => judges.id, { onDelete: "cascade" }), - hackathonId: uuid("hackathon_id") - .notNull() - .references(() => hackathons.id, { onDelete: "cascade" }), - projectId: uuid("project_id") - .notNull() - .references(() => judgingProjects.id, { onDelete: "cascade" }), - order: integer("order").notNull(), // order to visit - isCompleted: boolean("is_completed").notNull().default(false), - completedAt: timestamp("completed_at"), -}, (table) => [ - index("queue_judge_id_idx").on(table.judgeId), - index("queue_hackathon_id_idx").on(table.hackathonId), - // Critical for "next table" logic - index("queue_todo_idx").on(table.judgeId, table.hackathonId, table.isCompleted), -]); +export const judgeQueue = pgTable( + "judge_queue", + { + id: uuid("id").defaultRandom().primaryKey(), + judgeId: uuid("judge_id") + .notNull() + .references(() => judges.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + projectId: uuid("project_id") + .notNull() + .references(() => judgingProjects.id, { onDelete: "cascade" }), + order: integer("order").notNull(), // order to visit + isCompleted: boolean("is_completed").notNull().default(false), + completedAt: timestamp("completed_at"), + }, + (table) => [ + index("queue_judge_id_idx").on(table.judgeId), + index("queue_hackathon_id_idx").on(table.hackathonId), + // Critical for "next table" logic + index("queue_todo_idx").on( + table.judgeId, + table.hackathonId, + table.isCompleted, + ), + ], +); // Relations export const judgesRelations = relations(judges, ({ one, many }) => ({ @@ -138,30 +179,40 @@ export const judgesRelations = relations(judges, ({ one, many }) => ({ fields: [judges.userId], references: [users.id], }), + hackathon: one(hackathons, { + fields: [judges.hackathonId], + references: [hackathons.id], + }), assignments: many(judgeAssignments), votes: many(judgeVotes), queue: many(judgeQueue), })); -export const judgeAssignmentsRelations = relations(judgeAssignments, ({ one }) => ({ - judge: one(judges, { - fields: [judgeAssignments.judgeId], - references: [judges.id], +export const judgeAssignmentsRelations = relations( + judgeAssignments, + ({ one }) => ({ + judge: one(judges, { + fields: [judgeAssignments.judgeId], + references: [judges.id], + }), + hackathon: one(hackathons, { + fields: [judgeAssignments.hackathonId], + references: [hackathons.id], + }), }), - hackathon: one(hackathons, { - fields: [judgeAssignments.hackathonId], - references: [hackathons.id], - }), -})); +); -export const judgingProjectsRelations = relations(judgingProjects, ({ one, many }) => ({ - hackathon: one(hackathons, { - fields: [judgingProjects.hackathonId], - references: [hackathons.id], +export const judgingProjectsRelations = relations( + judgingProjects, + ({ one, many }) => ({ + hackathon: one(hackathons, { + fields: [judgingProjects.hackathonId], + references: [hackathons.id], + }), + votes: many(judgeVotes), + queueEntries: many(judgeQueue), }), - votes: many(judgeVotes), - queueEntries: many(judgeQueue), -})); +); export const judgeVotesRelations = relations(judgeVotes, ({ one }) => ({ judge: one(judges, { @@ -181,7 +232,6 @@ export const hackathonMapsRelations = relations(hackathonMaps, ({ one }) => ({ }), })); - export const judgeQueueRelations = relations(judgeQueue, ({ one }) => ({ judge: one(judges, { fields: [judgeQueue.judgeId], diff --git a/packages/db/src/schemas/members.ts b/packages/db/src/schemas/members.ts index a0c61485..fbfa7ba1 100644 --- a/packages/db/src/schemas/members.ts +++ b/packages/db/src/schemas/members.ts @@ -1,68 +1,92 @@ -import { pgTable, text, timestamp, uuid, boolean, integer, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + boolean, + integer, + index, + unique, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; +import { hackathons } from "./hackathons"; -export const userProfiles = pgTable("user_profile", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - bio: text("bio"), - website: text("website"), - location: text("location"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("profile_user_id_idx").on(table.userId), -]); +export const userProfiles = pgTable( + "user_profile", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .unique() + .references(() => users.id, { onDelete: "cascade" }), + bio: text("bio"), + website: text("website"), + location: text("location"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [index("profile_user_id_idx").on(table.userId)], +); -export const members = pgTable("member", { - id: uuid("id").defaultRandom().primaryKey(), - userId: text("user_id") - .notNull() - .unique() - .references(() => users.id, { onDelete: "cascade" }), - memberType: text("member_type", { enum: ["new", "continuous"] }) - .notNull() - .default("new"), - firstName: text("first_name").notNull(), - lastName: text("last_name").notNull(), - phoneNumber: text("phone_number"), - school: text("school"), - major: text("major"), - graduationYear: integer("graduation_year"), - isActive: boolean("is_active").notNull().default(true), - joinedAt: timestamp("joined_at").defaultNow().notNull(), - membershipStartDate: timestamp("membership_start_date").notNull(), - membershipEndDate: timestamp("membership_end_date"), - renewalCount: integer("renewal_count").notNull().default(0), - skills: text("skills").array(), - interests: text("interests").array(), - linkedinUrl: text("linkedin_url"), - githubUrl: text("github_url"), - portfolioUrl: text("portfolio_url"), - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("member_user_id_idx").on(table.userId), - // Optimized for "Active Members" directory listing - index("member_active_type_idx").on(table.isActive, table.memberType), -]); +export const members = pgTable( + "member", + { + id: uuid("id").defaultRandom().primaryKey(), + userId: text("user_id") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + hackathonId: uuid("hackathon_id") + .notNull() + .references(() => hackathons.id, { onDelete: "cascade" }), + memberType: text("member_type", { enum: ["new", "continuous"] }) + .notNull() + .default("new"), + firstName: text("first_name").notNull(), + lastName: text("last_name").notNull(), + phoneNumber: text("phone_number"), + school: text("school"), + major: text("major"), + graduationYear: integer("graduation_year"), + isActive: boolean("is_active").notNull().default(true), + joinedAt: timestamp("joined_at").defaultNow().notNull(), + membershipStartDate: timestamp("membership_start_date").notNull(), + membershipEndDate: timestamp("membership_end_date"), + renewalCount: integer("renewal_count").notNull().default(0), + skills: text("skills").array(), + interests: text("interests").array(), + linkedinUrl: text("linkedin_url"), + githubUrl: text("github_url"), + portfolioUrl: text("portfolio_url"), + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("member_user_id_idx").on(table.userId), + index("member_hackathon_id_idx").on(table.hackathonId), + // Optimized for "Active Members" directory listing + index("member_active_type_idx").on(table.isActive, table.memberType), + unique("unique_member_per_hackathon").on(table.userId, table.hackathonId), + ], +); -export const membershipHistory = pgTable("membership_history", { - id: uuid("id").defaultRandom().primaryKey(), - memberId: uuid("member_id") - .notNull() - .references(() => members.id, { onDelete: "cascade" }), - action: text("action", { enum: ["joined", "renewed", "expired", "cancelled"] }).notNull(), - startDate: timestamp("start_date").notNull(), - endDate: timestamp("end_date"), - notes: text("notes"), - createdAt: timestamp("created_at").defaultNow().notNull(), -}, (table) => [ - index("history_member_id_idx").on(table.memberId), -]); +export const membershipHistory = pgTable( + "membership_history", + { + id: uuid("id").defaultRandom().primaryKey(), + memberId: uuid("member_id") + .notNull() + .references(() => members.id, { onDelete: "cascade" }), + action: text("action", { + enum: ["joined", "renewed", "expired", "cancelled"], + }).notNull(), + startDate: timestamp("start_date").notNull(), + endDate: timestamp("end_date"), + notes: text("notes"), + createdAt: timestamp("created_at").defaultNow().notNull(), + }, + (table) => [index("history_member_id_idx").on(table.memberId)], +); export const usersRelations = relations(users, ({ one }) => ({ profile: one(userProfiles, { @@ -87,12 +111,19 @@ export const membersRelations = relations(members, ({ one, many }) => ({ fields: [members.userId], references: [users.id], }), + hackathon: one(hackathons, { + fields: [members.hackathonId], + references: [hackathons.id], + }), membershipHistory: many(membershipHistory), })); -export const membershipHistoryRelations = relations(membershipHistory, ({ one }) => ({ - member: one(members, { - fields: [membershipHistory.memberId], - references: [members.id], +export const membershipHistoryRelations = relations( + membershipHistory, + ({ one }) => ({ + member: one(members, { + fields: [membershipHistory.memberId], + references: [members.id], + }), }), -})); \ No newline at end of file +); diff --git a/packages/db/src/schemas/security.ts b/packages/db/src/schemas/security.ts index 2992f51a..57c5a39c 100644 --- a/packages/db/src/schemas/security.ts +++ b/packages/db/src/schemas/security.ts @@ -1,8 +1,22 @@ -import { pgTable, text, timestamp, uuid, jsonb, pgEnum, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + jsonb, + pgEnum, + index, +} from "drizzle-orm/pg-core"; -export const securitySeverityEnum = pgEnum("security_severity", ["info", "warn", "critical"]); +export const securitySeverityEnum = pgEnum("security_severity", [ + "info", + "warn", + "critical", +]); -export const auditLogs = pgTable("audit_logs", { +export const auditLogs = pgTable( + "audit_logs", + { id: uuid("id").defaultRandom().primaryKey(), userId: text("user_id"), // Nullable, as text to match NextAuth ID or "system" action: text("action").notNull(), @@ -10,9 +24,11 @@ export const auditLogs = pgTable("audit_logs", { metadata: jsonb("metadata"), severity: securitySeverityEnum("severity").default("info").notNull(), createdAt: timestamp("created_at", { mode: "date" }).defaultNow().notNull(), -}, (table) => [ + }, + (table) => [ index("audit_user_id_idx").on(table.userId), index("audit_action_idx").on(table.action), index("audit_created_at_idx").on(table.createdAt), index("audit_severity_idx").on(table.severity), -]); + ], +); diff --git a/packages/db/src/schemas/settings.ts b/packages/db/src/schemas/settings.ts deleted file mode 100644 index 2b832a33..00000000 --- a/packages/db/src/schemas/settings.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { pgTable, text, boolean, integer, timestamp } from "drizzle-orm/pg-core"; - -export const systemSettings = pgTable("system_settings", { - id: text("id").primaryKey().default("default"), - systemName: text("system_name").notNull().default("DSGT Query Engine"), - maintenanceMode: boolean("maintenance_mode").notNull().default(false), - requireEmailVerification: boolean("require_email_verification").notNull().default(true), - maxEventCapacity: integer("max_event_capacity").notNull().default(500), - allowPublicRegistration: boolean("allow_public_registration").notNull().default(true), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}); diff --git a/packages/db/src/schemas/stripe.ts b/packages/db/src/schemas/stripe.ts index 97c70107..2ff2afef 100644 --- a/packages/db/src/schemas/stripe.ts +++ b/packages/db/src/schemas/stripe.ts @@ -1,4 +1,12 @@ -import { pgTable, text, timestamp, uuid, integer, boolean, index } from "drizzle-orm/pg-core"; +import { + pgTable, + text, + timestamp, + uuid, + integer, + boolean, + index, +} from "drizzle-orm/pg-core"; import { relations } from "drizzle-orm"; import { users } from "./auth"; @@ -6,38 +14,42 @@ import { users } from "./auth"; * Stores Stripe checkout/payment info from webhooks. * Used to track payments before they're linked to a user account. */ -export const stripePayments = pgTable("stripe_payment", { - id: uuid("id").defaultRandom().primaryKey(), - - // Stripe identifiers - stripeSessionId: text("stripe_session_id").notNull().unique(), - stripeCustomerId: text("stripe_customer_id"), - stripePaymentIntentId: text("stripe_payment_intent_id"), - // Customer info from Stripe - customerEmail: text("customer_email").notNull(), - customerName: text("customer_name"), +export const stripePayments = pgTable( + "stripe_payment", + { + id: uuid("id").defaultRandom().primaryKey(), - // Payment details - amountTotal: integer("amount_total"), // in cents - currency: text("currency").default("usd"), - paymentStatus: text("payment_status", { - enum: ["paid", "unpaid", "no_payment_required"] - }).notNull(), + // Stripe identifiers + stripeSessionId: text("stripe_session_id").notNull().unique(), + stripeCustomerId: text("stripe_customer_id"), + stripePaymentIntentId: text("stripe_payment_intent_id"), + // Customer info from Stripe + customerEmail: text("customer_email").notNull(), + customerName: text("customer_name"), - // Linking status - linkedUserId: text("linked_user_id").references(() => users.id, { onDelete: "set null" }), - linkedAt: timestamp("linked_at"), - - // Metadata - metadata: text("metadata"), // JSON string for any extra Stripe metadata - createdAt: timestamp("created_at").defaultNow().notNull(), - updatedAt: timestamp("updated_at").defaultNow().notNull(), -}, (table) => [ - index("stripe_payment_customer_email_idx").on(table.customerEmail), - index("stripe_payment_linked_user_id_idx").on(table.linkedUserId), -]); + // Payment details + amountTotal: integer("amount_total"), // in cents + currency: text("currency").default("usd"), + paymentStatus: text("payment_status", { + enum: ["paid", "unpaid", "no_payment_required"], + }).notNull(), + // Linking status + linkedUserId: text("linked_user_id").references(() => users.id, { + onDelete: "set null", + }), + linkedAt: timestamp("linked_at"), + // Metadata + metadata: text("metadata"), // JSON string for any extra Stripe metadata + createdAt: timestamp("created_at").defaultNow().notNull(), + updatedAt: timestamp("updated_at").defaultNow().notNull(), + }, + (table) => [ + index("stripe_payment_customer_email_idx").on(table.customerEmail), + index("stripe_payment_linked_user_id_idx").on(table.linkedUserId), + ], +); /** * Links users who signed in with a different email (e.g., Google) @@ -68,21 +80,27 @@ export const userAccountLinks = pgTable("user_account_link", { }); // Relations -export const stripePaymentsRelations = relations(stripePayments, ({ one, many }) => ({ - linkedUser: one(users, { - fields: [stripePayments.linkedUserId], - references: [users.id], +export const stripePaymentsRelations = relations( + stripePayments, + ({ one, many }) => ({ + linkedUser: one(users, { + fields: [stripePayments.linkedUserId], + references: [users.id], + }), + accountLinks: many(userAccountLinks), }), - accountLinks: many(userAccountLinks), -})); +); -export const userAccountLinksRelations = relations(userAccountLinks, ({ one }) => ({ - user: one(users, { - fields: [userAccountLinks.userId], - references: [users.id], - }), - stripePayment: one(stripePayments, { - fields: [userAccountLinks.stripePaymentId], - references: [stripePayments.id], +export const userAccountLinksRelations = relations( + userAccountLinks, + ({ one }) => ({ + user: one(users, { + fields: [userAccountLinks.userId], + references: [users.id], + }), + stripePayment: one(stripePayments, { + fields: [userAccountLinks.stripePaymentId], + references: [stripePayments.id], + }), }), -})); +); diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json index 0cf1899d..d9f3c223 100644 --- a/packages/db/tsconfig.json +++ b/packages/db/tsconfig.json @@ -1,30 +1,18 @@ { - "extends": "@query/tsconfig/base.json", + "extends": "../../tooling/typescript/base.json", "compilerOptions": { "target": "ES2022", "module": "ESNext", "moduleResolution": "bundler", - "lib": [ - "ES2022", - "DOM", - "DOM.Iterable" - ], + "lib": ["ES2022", "DOM", "DOM.Iterable"], "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "skipLibCheck": true, "paths": { - "@/*": [ - "./src/*" - ] + "@/*": ["./src/*"] }, "outDir": "dist" }, - "include": [ - "src/**/*.ts", - "src/**/*.tsx" - ], - "exclude": [ - "node_modules", - "dist" - ] -} \ No newline at end of file + "include": ["src/**/*.ts", "src/**/*.tsx"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/ui/.cache/tsbuildinfo.json b/packages/ui/.cache/tsbuildinfo.json index a2da43e4..8dd3e977 100644 --- a/packages/ui/.cache/tsbuildinfo.json +++ b/packages/ui/.cache/tsbuildinfo.json @@ -1 +1 @@ -{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../src/card.tsx","../src/glass.tsx","../src/gradient.tsx","../src/index.ts","../src/turborepo-logo.tsx"],"fileIdsList":[[90,91],[92],[92,93],[93],[93,95]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"f662721627980521bae012e401bf498c7326afb466f38c2a3ae6ffc3a0efe317","signature":"03251d3f53e666b07861891e786e310b9a272217048b18a41a5feb8124479b7f"},{"version":"f519757896137e68e4f1356efac3084a7b7eed59d03dabd30ae12670269e47ab","signature":"87f02f57c88476fe9b26dfd0d36c91a64fb12e5c9bff5d746158594099edf793"},{"version":"039f80bfa567ce77eb663f3e6236cd0c98bafeb6e4988692ffd25e7428950dcd","signature":"2594b16f1762db36deb0ff7b9b77c59ca357db71b90a0c15de5112cbcb80e969"},{"version":"9f1d75a65f97d2c564eebd9c0302239dc0ca989a04968c006b59acc72ad2e8eb","signature":"d70812ce274024e8e24cc52720db857438d4308dbb31cac9c472822359fa61c3"},{"version":"13850df5bd8c29527a90d780990d3ee41e75e06d36a21e75c429cd273239dc7e","signature":"2e0d4a0ee37b352168d07fab791d44df3a3e3b0c0ed769cbf41fd2573fa32074"}],"root":[[94,98]],"options":{"allowJs":true,"checkJs":false,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":4,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[92,1],[93,2],[94,3],[95,3],[96,4],[97,5],[98,4]],"version":"6.0.2"} \ No newline at end of file +{"fileNames":["../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@6.0.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/global.d.ts","../../../node_modules/.pnpm/csstype@3.2.3/node_modules/csstype/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/index.d.ts","../../../node_modules/.pnpm/@types+react@19.1.3/node_modules/@types/react/jsx-runtime.d.ts","../src/card.tsx","../src/glass.tsx","../src/gradient.tsx","../src/index.ts","../src/turborepo-logo.tsx"],"fileIdsList":[[90,91],[92],[92,93],[93],[93,95]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"742d4b7b02ffc3ba3c4258a3d196457da2b3fec0125872fd0776c50302a11b9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"8a3fdc84d91c2c7321fd2f8dba2ea90249cfdc31427ac71b5735dd51bc25cf91","impliedFormat":1},{"version":"42c169fb8c2d42f4f668c624a9a11e719d5d07dacbebb63cbcf7ef365b0a75b3","impliedFormat":1},{"version":"6a3cd4336a3c45827a792047ab6b6de8d75f086d51ecda70586afeec9baca34f","signature":"03251d3f53e666b07861891e786e310b9a272217048b18a41a5feb8124479b7f"},{"version":"78fa9fe96a6da818c304b9904a5f7a62fcd5048abcf2e197308182f2b5d85306","signature":"87f02f57c88476fe9b26dfd0d36c91a64fb12e5c9bff5d746158594099edf793"},{"version":"bb1eb0e32b8acd010fc604c3a071bd56163b6b2ce7c5c5c81beb34b828f18b72","signature":"2594b16f1762db36deb0ff7b9b77c59ca357db71b90a0c15de5112cbcb80e969"},{"version":"95910990081a5aa12fb510d4e0ce7c98b63f239acd040a03c980529ca11775b2","signature":"d70812ce274024e8e24cc52720db857438d4308dbb31cac9c472822359fa61c3"},{"version":"63fb4b7b85cd9fe658fdce4e3e7afeff1d8e13aaa9efb4e65f873981b264a857","signature":"2e0d4a0ee37b352168d07fab791d44df3a3e3b0c0ed769cbf41fd2573fa32074"}],"root":[[94,98]],"options":{"allowJs":true,"checkJs":false,"declaration":true,"declarationMap":true,"emitDeclarationOnly":false,"esModuleInterop":true,"jsx":4,"module":99,"noImplicitAny":false,"noUncheckedIndexedAccess":false,"outDir":"../dist","rootDir":"../src","skipLibCheck":true,"strict":true,"target":99,"tsBuildInfoFile":"./tsbuildinfo.json"},"referencedMap":[[92,1],[93,2],[94,3],[95,3],[96,4],[97,5],[98,4]],"version":"6.0.2"} \ No newline at end of file diff --git a/packages/ui/package.json b/packages/ui/package.json index 5961aa51..2212500f 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -39,7 +39,7 @@ "@query/tsconfig": "workspace:*", "@tailwindcss/cli": "4.3.0", "@types/minimatch": "^6.0.0", - "@types/react": "^19.1.3", + "@types/react": "^19.2.17", "eslint": "9.24.0", "tailwindcss": "4.3.0", "typescript": "6.0.2" @@ -48,4 +48,4 @@ "minimatch": "^10.2.3", "react-dom": "19.0.0" } -} \ No newline at end of file +} diff --git a/packages/ui/src/card.jsx b/packages/ui/src/card.jsx index 2390bccf..9f2e52fb 100644 --- a/packages/ui/src/card.jsx +++ b/packages/ui/src/card.jsx @@ -2,8 +2,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Card = Card; function Card(_a) { - var title = _a.title, children = _a.children, href = _a.href; - return ( + var title = _a.title, + children = _a.children, + href = _a.href; + return ( +

{title}{" "} @@ -13,5 +24,6 @@ function Card(_a) {

{children}

-
); + + ); } diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx index 2b32bafc..7b2ed614 100644 --- a/packages/ui/src/card.tsx +++ b/packages/ui/src/card.tsx @@ -1,4 +1,4 @@ -import type {ReactNode} from "react"; +import type { ReactNode } from "react"; export function Card({ title, diff --git a/packages/ui/src/glass.tsx b/packages/ui/src/glass.tsx index efa9fc02..8c07a5f3 100644 --- a/packages/ui/src/glass.tsx +++ b/packages/ui/src/glass.tsx @@ -1,38 +1,39 @@ import React from "react"; interface GlassProps extends React.HTMLAttributes { - children: React.ReactNode; - className?: string; - intensity?: "low" | "medium" | "high"; + children: React.ReactNode; + className?: string; + intensity?: "low" | "medium" | "high"; } export function Glass({ - children, - className = "", - intensity = "medium", - ...props + children, + className = "", + intensity = "medium", + ...props }: GlassProps) { - const intensityStyles = { - low: "bg-black/40 backdrop-blur-md border-white/5", - medium: "bg-black/60 backdrop-blur-lg border-white/10", - high: "bg-black/80 backdrop-blur-xl border-white/20", - }; + const intensityStyles = { + low: "bg-black/40 backdrop-blur-md border-white/5", + medium: "bg-black/60 backdrop-blur-lg border-white/10", + high: "bg-black/80 backdrop-blur-xl border-white/20", + }; - return ( -
- {/* Glossy reflection effect */} -
- {/* Top highlight for glass edge */} -
+ return ( +
+ {/* Glossy reflection effect */} +
+ {/* Top highlight for glass edge */} +
- {children} -
- ); + {children} +
+ ); } diff --git a/packages/ui/src/gradient.jsx b/packages/ui/src/gradient.jsx index bff461a5..267cb5d9 100644 --- a/packages/ui/src/gradient.jsx +++ b/packages/ui/src/gradient.jsx @@ -2,8 +2,20 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Gradient = Gradient; function Gradient(_a) { - var conic = _a.conic, className = _a.className, small = _a.small; - return (); + : "", + " ", + ) + .concat(className !== null && className !== void 0 ? className : "")} + /> + ); } diff --git a/packages/ui/src/turborepo-logo.jsx b/packages/ui/src/turborepo-logo.jsx index a0d62776..e777ee40 100644 --- a/packages/ui/src/turborepo-logo.jsx +++ b/packages/ui/src/turborepo-logo.jsx @@ -2,15 +2,38 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.TurborepoLogo = void 0; var TurborepoLogo = function () { - return ( - - + return ( + + + - + - ); + + ); }; exports.TurborepoLogo = TurborepoLogo; diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 5bca5161..7c85d860 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,25 +1,15 @@ { "extends": "@query/tsconfig/internal-package.json", "compilerOptions": { - "lib": [ - "ESNext", - "dom", - "dom.iterable" - ], + "lib": ["ESNext", "dom", "dom.iterable"], "jsx": "react-jsx", "rootDir": "src", - "types": [ - "react" - ], + "types": ["react"], "skipLibCheck": true, "emitDeclarationOnly": false, "module": "ESNext", "outDir": "dist" }, - "include": [ - "src" - ], - "exclude": [ - "node_modules" - ] -} \ No newline at end of file + "include": ["src"], + "exclude": ["node_modules"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f27ab92c..1323685f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,7 +16,7 @@ importers: dependencies: next: specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) typescript: specifier: ^6.0.2 version: 6.0.2 @@ -38,16 +38,16 @@ importers: version: link:../db '@tanstack/react-query': specifier: 5.90.12 - version: 5.90.12(react@19.0.0) + version: 5.90.12(react@19.2.7) '@trpc/client': specifier: ^11.17.0 version: 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/next': specifier: ^11.15.1 - version: 11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2) + version: 11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2) '@trpc/react-query': specifier: ^11.15.1 - version: 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + version: 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) '@trpc/server': specifier: ^11.15.1 version: 11.15.1(typescript@6.0.2) @@ -102,7 +102,7 @@ importers: version: 10.2.3 next-auth: specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@8.0.5)(react@19.2.7) nodemailer: specifier: 8.0.5 version: 8.0.5 @@ -147,7 +147,7 @@ importers: version: 10.2.3 next-auth: specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@8.0.5)(react@19.2.7) pg: specifier: 8.21.0 version: 8.21.0 @@ -184,7 +184,7 @@ importers: version: 10.2.3 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) devDependencies: '@next/eslint-plugin-next': specifier: 16.2.6 @@ -205,8 +205,8 @@ importers: specifier: ^6.0.0 version: 6.0.0 '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 eslint: specifier: 9.24.0 version: 9.24.0(jiti@2.7.0) @@ -246,10 +246,10 @@ importers: dependencies: '@radix-ui/react-slot': specifier: 1.2.4 - version: 1.2.4(@types/react@19.1.3)(react@19.0.0) + version: 1.2.4(@types/react@19.2.17)(react@19.2.7) '@yudiel/react-qr-scanner': specifier: 2.3.1 - version: 2.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.3.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7) babel-plugin-react-compiler: specifier: 1.0.0 version: 1.0.0 @@ -264,16 +264,16 @@ importers: version: 12.14.0 next: specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) react-icons: specifier: 5.6.0 - version: 5.6.0(react@19.0.0) + version: 5.6.0(react@19.2.7) tailwind-merge: specifier: 3.6.0 version: 3.6.0 @@ -291,11 +291,11 @@ importers: specifier: 22.15.32 version: 22.15.32 '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': specifier: ^19.0.3 - version: 19.0.3(@types/react@19.1.3) + version: 19.0.3(@types/react@19.2.17) autoprefixer: specifier: 10.4.22 version: 10.4.22(postcss@8.5.14) @@ -322,7 +322,7 @@ importers: dependencies: '@mawtech/glass-ui': specifier: ^0.2.1 - version: 0.2.1(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 0.2.1(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) '@query/api': specifier: workspace:* version: link:../../packages/api @@ -335,24 +335,30 @@ importers: '@query/ui': specifier: workspace:* version: link:../../packages/ui + '@stripe/react-stripe-js': + specifier: ^3.7.0 + version: 3.10.0(@stripe/stripe-js@5.10.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@stripe/stripe-js': + specifier: ^5.8.0 + version: 5.10.0 '@tanstack/react-query': specifier: ^5.90.12 - version: 5.90.12(react@19.0.0) + version: 5.90.12(react@19.2.7) '@trpc/client': specifier: ^11.17.0 version: 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/next': specifier: ^11.15.1 - version: 11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2) + version: 11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2) '@trpc/react-query': specifier: ^11.15.1 - version: 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + version: 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) '@trpc/server': specifier: ^11.15.1 version: 11.15.1(typescript@6.0.2) '@yudiel/react-qr-scanner': specifier: ^2.5.0 - version: 2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.5.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7) chart.js: specifier: ^4.5.1 version: 4.5.1 @@ -361,40 +367,40 @@ importers: version: 0.45.2(@types/pg@8.20.0)(pg@8.21.0)(postgres@3.4.3) geist: specifier: ^1.5.1 - version: 1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + version: 1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)) lucide-react: specifier: ^1.14.0 - version: 1.14.0(react@19.0.0) + version: 1.14.0(react@19.2.7) minimatch: specifier: 10.2.3 version: 10.2.3 next: specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) next-auth: specifier: 5.0.0-beta.30 - version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0) + version: 5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@8.0.5)(react@19.2.7) next-themes: specifier: ^0.4.6 - version: 0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 0.4.6(react-dom@19.0.0(react@19.2.7))(react@19.2.7) qrcode: specifier: 1.5.4 version: 1.5.4 qrcode.react: specifier: ^3.2.0 - version: 3.2.0(react@19.0.0) + version: 3.2.0(react@19.2.7) react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-chartjs-2: specifier: 5.3.1 - version: 5.3.1(chart.js@4.5.1)(react@19.0.0) + version: 5.3.1(chart.js@4.5.1)(react@19.2.7) react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) react-scroll: specifier: 1.9.3 - version: 1.9.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 1.9.3(react-dom@19.0.0(react@19.2.7))(react@19.2.7) sanitize-html: specifier: ^2.17.4 version: 2.17.4 @@ -434,13 +440,13 @@ importers: version: 1.5.6 '@types/qrcode.react': specifier: ^3.0.0 - version: 3.0.0(react@19.0.0) + version: 3.0.0(react@19.2.7) '@types/react': - specifier: ^19.1.3 - version: 19.1.3 + specifier: ^19.2.17 + version: 19.2.17 '@types/react-dom': specifier: ^19.0.3 - version: 19.0.3(@types/react@19.1.3) + version: 19.0.3(@types/react@19.2.17) '@types/react-scroll': specifier: ^1.8.10 version: 1.8.10 @@ -568,16 +574,16 @@ importers: version: 10.2.3 next: specifier: 16.2.6 - version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) postcss: specifier: ^8.5.10 version: 8.5.14 react: - specifier: 19.0.0 - version: 19.0.0 + specifier: 19.2.7 + version: 19.2.7 react-dom: specifier: 19.0.0 - version: 19.0.0(react@19.0.0) + version: 19.0.0(react@19.2.7) tailwindcss: specifier: 4.0.0 version: 4.0.0 @@ -2164,6 +2170,17 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} + '@stripe/react-stripe-js@3.10.0': + resolution: {integrity: sha512-UPqHZwMwDzGSax0ZI7XlxR3tZSpgIiZdk3CiwjbTK978phwR/fFXeAXQcN/h8wTAjR4ZIAzdlI9DbOqJhuJdeg==} + peerDependencies: + '@stripe/stripe-js': '>=1.44.1 <8.0.0' + react: '>=16.8.0 <20.0.0' + react-dom: '>=16.8.0 <20.0.0' + + '@stripe/stripe-js@5.10.0': + resolution: {integrity: sha512-PTigkxMdMUP6B5ISS7jMqJAKhgrhZwjprDqR1eATtFfh0OpKVNp110xiH+goeVdrJ29/4LeZJR4FaHHWstsu0A==} + engines: {node: '>=12.16'} + '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} @@ -2439,8 +2456,8 @@ packages: '@types/react-scroll@1.8.10': resolution: {integrity: sha512-RD4Z7grbdNGOKwKnUBKar6zNxqaW3n8m9QSrfvljW+gmkj1GArb8AFBomVr6xMOgHPD3v1uV3BrIf01py57daQ==} - '@types/react@19.1.3': - resolution: {integrity: sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ==} + '@types/react@19.2.17': + resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==} '@types/sanitize-html@2.16.1': resolution: {integrity: sha512-n9wjs8bCOTyN/ynwD8s/nTcTreIHB1vf31vhLMGqUPNHaweKC4/fAl4Dj+hUlCTKYgm4P3k83fmiFfzkZ6sgMA==} @@ -4260,8 +4277,8 @@ packages: '@types/react': optional: true - react@19.0.0: - resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + react@19.2.7: + resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} engines: {node: '>=0.10.0'} reflect.getprototypeof@1.0.10: @@ -5490,11 +5507,11 @@ snapshots: '@floating-ui/core': 1.7.5 '@floating-ui/utils': 0.2.11 - '@floating-ui/react-dom@2.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@floating-ui/react-dom@2.1.8(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@floating-ui/dom': 1.7.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) '@floating-ui/utils@0.2.11': {} @@ -5662,21 +5679,21 @@ snapshots: '@kurkle/color@0.3.4': {} - '@mawtech/glass-ui@0.2.1(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mawtech/glass-ui@0.2.1(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-select': 2.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-checkbox': 1.3.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-dropdown-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-select': 2.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-switch': 1.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-tooltip': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) class-variance-authority: 0.7.1 clsx: 2.1.1 - framer-motion: 11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + framer-motion: 11.18.2(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) tailwind-merge: 2.6.1 transitivePeerDependencies: - '@emotion/is-prop-valid' @@ -5827,404 +5844,404 @@ snapshots: '@radix-ui/primitive@1.1.3': {} - '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-checkbox@1.3.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-collection@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-collection@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-context@1.1.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-direction@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-dropdown-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-menu': 2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-focus-guards@1.1.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-id@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-menu@2.1.16(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-popover@1.1.15(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-popover@1.1.15(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) - - '@radix-ui/react-popper@1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': - dependencies: - '@floating-ui/react-dom': 2.1.8(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) + + '@radix-ui/react-popper@1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': + dependencies: + '@floating-ui/react-dom': 2.1.8(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) '@radix-ui/rect': 1.1.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-portal@1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-portal@1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-presence@1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-presence@1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-select@2.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-select@2.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/number': 1.1.1 '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) aria-hidden: 1.2.6 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - react-remove-scroll: 2.7.2(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + react-remove-scroll: 2.7.2(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-slot@1.2.3(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-slot@1.2.3(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-slot@1.2.4(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-slot@1.2.4(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-switch@1.2.6(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-switch@1.2.6(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-direction': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-tooltip@1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: '@radix-ui/primitive': 1.1.3 - '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@radix-ui/react-slot': 1.2.3(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-id': 1.1.1(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + '@radix-ui/react-slot': 1.2.3(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) - '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.3)(react@19.0.0) - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.2.17)(react@19.2.7) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: '@radix-ui/rect': 1.1.1 - react: 19.0.0 + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-use-size@1.1.1(@types/react@19.1.3)(react@19.0.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.2.17)(react@19.2.7)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.0.0) - react: 19.0.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.2.17)(react@19.2.7) + react: 19.2.7 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: - '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.0.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 - '@types/react-dom': 19.0.3(@types/react@19.1.3) + '@types/react': 19.2.17 + '@types/react-dom': 19.0.3(@types/react@19.2.17) '@radix-ui/rect@1.1.1': {} @@ -6318,6 +6335,15 @@ snapshots: '@standard-schema/spec@1.1.0': {} + '@stripe/react-stripe-js@3.10.0(@stripe/stripe-js@5.10.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': + dependencies: + '@stripe/stripe-js': 5.10.0 + prop-types: 15.8.1 + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + + '@stripe/stripe-js@5.10.0': {} + '@swc/helpers@0.5.15': dependencies: tslib: 2.8.1 @@ -6424,34 +6450,34 @@ snapshots: '@tanstack/query-core@5.90.12': {} - '@tanstack/react-query@5.90.12(react@19.0.0)': + '@tanstack/react-query@5.90.12(react@19.2.7)': dependencies: '@tanstack/query-core': 5.90.12 - react: 19.0.0 + react: 19.2.7 '@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2)': dependencies: '@trpc/server': 11.15.1(typescript@6.0.2) typescript: 6.0.2 - '@trpc/next@11.17.0(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@6.0.2)': + '@trpc/next@11.17.0(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(react-dom@19.0.0(react@19.2.7))(react@19.2.7)(typescript@6.0.2)': dependencies: '@trpc/client': 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/server': 11.15.1(typescript@6.0.2) - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) typescript: 6.0.2 optionalDependencies: - '@tanstack/react-query': 5.90.12(react@19.0.0) - '@trpc/react-query': 11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2) + '@tanstack/react-query': 5.90.12(react@19.2.7) + '@trpc/react-query': 11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2) - '@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.0.0))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.0.0)(typescript@6.0.2)': + '@trpc/react-query@11.15.1(@tanstack/react-query@5.90.12(react@19.2.7))(@trpc/client@11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2))(@trpc/server@11.15.1(typescript@6.0.2))(react@19.2.7)(typescript@6.0.2)': dependencies: - '@tanstack/react-query': 5.90.12(react@19.0.0) + '@tanstack/react-query': 5.90.12(react@19.2.7) '@trpc/client': 11.17.0(@trpc/server@11.15.1(typescript@6.0.2))(typescript@6.0.2) '@trpc/server': 11.15.1(typescript@6.0.2) - react: 19.0.0 + react: 19.2.7 typescript: 6.0.2 '@trpc/server@11.15.1(typescript@6.0.2)': @@ -6524,9 +6550,9 @@ snapshots: pg-protocol: 1.13.0 pg-types: 2.2.0 - '@types/qrcode.react@3.0.0(react@19.0.0)': + '@types/qrcode.react@3.0.0(react@19.2.7)': dependencies: - qrcode.react: 3.2.0(react@19.0.0) + qrcode.react: 3.2.0(react@19.2.7) transitivePeerDependencies: - react @@ -6534,15 +6560,15 @@ snapshots: dependencies: '@types/node': 22.15.32 - '@types/react-dom@19.0.3(@types/react@19.1.3)': + '@types/react-dom@19.0.3(@types/react@19.2.17)': dependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 '@types/react-scroll@1.8.10': dependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - '@types/react@19.1.3': + '@types/react@19.2.17': dependencies: csstype: 3.2.3 @@ -6919,18 +6945,18 @@ snapshots: '@vladfrangu/async_event_emitter@2.4.7': {} - '@yudiel/react-qr-scanner@2.3.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@yudiel/react-qr-scanner@2.3.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: barcode-detector: 3.0.3 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) webrtc-adapter: 9.0.3 - '@yudiel/react-qr-scanner@2.5.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@yudiel/react-qr-scanner@2.5.1(react-dom@19.0.0(react@19.2.7))(react@19.2.7)': dependencies: barcode-detector: 3.0.8 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) webrtc-adapter: 9.0.3 acorn-jsx@5.3.2(acorn@8.16.0): @@ -7832,14 +7858,14 @@ snapshots: fraction.js@5.3.4: {} - framer-motion@11.18.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + framer-motion@11.18.2(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: motion-dom: 11.18.1 motion-utils: 11.18.1 tslib: 2.8.1 optionalDependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) fsevents@2.3.2: optional: true @@ -7862,9 +7888,9 @@ snapshots: fuse.js@7.3.0: {} - geist@1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)): + geist@1.7.0(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7)): dependencies: - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) generator-function@2.0.1: {} @@ -8231,9 +8257,9 @@ snapshots: dependencies: js-tokens: 4.0.0 - lucide-react@1.14.0(react@19.0.0): + lucide-react@1.14.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 magic-bytes.js@1.13.0: {} @@ -8282,29 +8308,29 @@ snapshots: natural-compare@1.4.0: {} - next-auth@5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nodemailer@8.0.5)(react@19.0.0): + next-auth@5.0.0-beta.30(next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7))(nodemailer@8.0.5)(react@19.2.7): dependencies: '@auth/core': 0.41.0(nodemailer@8.0.5) - next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react: 19.0.0 + next: 16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7) + react: 19.2.7 optionalDependencies: nodemailer: 8.0.5 - next-themes@0.4.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next-themes@0.4.6(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) - next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + next@16.2.6(@playwright/test@1.60.0)(babel-plugin-react-compiler@1.0.0)(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: '@next/env': 16.2.6 '@swc/helpers': 0.5.15 baseline-browser-mapping: 2.9.19 caniuse-lite: 1.0.30001792 postcss: 8.5.14 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) - styled-jsx: 5.1.6(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) + styled-jsx: 5.1.6(react@19.2.7) optionalDependencies: '@next/swc-darwin-arm64': 16.2.6 '@next/swc-darwin-x64': 16.2.6 @@ -8556,9 +8582,9 @@ snapshots: punycode@2.3.1: {} - qrcode.react@3.2.0(react@19.0.0): + qrcode.react@3.2.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 qrcode@1.5.4: dependencies: @@ -8568,57 +8594,57 @@ snapshots: queue-microtask@1.2.3: {} - react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.0.0): + react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.2.7): dependencies: chart.js: 4.5.1 - react: 19.0.0 + react: 19.2.7 - react-dom@19.0.0(react@19.0.0): + react-dom@19.0.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 scheduler: 0.25.0 - react-icons@5.6.0(react@19.0.0): + react-icons@5.6.0(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 react-is@16.13.1: {} - react-remove-scroll-bar@2.3.8(@types/react@19.1.3)(react@19.0.0): + react-remove-scroll-bar@2.3.8(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 - react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react-remove-scroll@2.7.2(@types/react@19.1.3)(react@19.0.0): + react-remove-scroll@2.7.2(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 - react-remove-scroll-bar: 2.3.8(@types/react@19.1.3)(react@19.0.0) - react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.0.0) + react: 19.2.7 + react-remove-scroll-bar: 2.3.8(@types/react@19.2.17)(react@19.2.7) + react-style-singleton: 2.2.3(@types/react@19.2.17)(react@19.2.7) tslib: 2.8.1 - use-callback-ref: 1.3.3(@types/react@19.1.3)(react@19.0.0) - use-sidecar: 1.1.3(@types/react@19.1.3)(react@19.0.0) + use-callback-ref: 1.3.3(@types/react@19.2.17)(react@19.2.7) + use-sidecar: 1.1.3(@types/react@19.2.17)(react@19.2.7) optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react-scroll@1.9.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-scroll@1.9.3(react-dom@19.0.0(react@19.2.7))(react@19.2.7): dependencies: lodash.throttle: 4.1.1 prop-types: 15.8.1 - react: 19.0.0 - react-dom: 19.0.0(react@19.0.0) + react: 19.2.7 + react-dom: 19.0.0(react@19.2.7) - react-style-singleton@2.2.3(@types/react@19.1.3)(react@19.0.0): + react-style-singleton@2.2.3(@types/react@19.2.17)(react@19.2.7): dependencies: get-nonce: 1.0.1 - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - react@19.0.0: {} + react@19.2.7: {} reflect.getprototypeof@1.0.10: dependencies: @@ -8919,10 +8945,10 @@ snapshots: optionalDependencies: '@types/node': 22.15.32 - styled-jsx@5.1.6(react@19.0.0): + styled-jsx@5.1.6(react@19.2.7): dependencies: client-only: 0.0.1 - react: 19.0.0 + react: 19.2.7 superjson@2.2.3: dependencies: @@ -9096,20 +9122,20 @@ snapshots: dependencies: punycode: 2.3.1 - use-callback-ref@1.3.3(@types/react@19.1.3)(react@19.0.0): + use-callback-ref@1.3.3(@types/react@19.2.17)(react@19.2.7): dependencies: - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 - use-sidecar@1.1.3(@types/react@19.1.3)(react@19.0.0): + use-sidecar@1.1.3(@types/react@19.2.17)(react@19.2.7): dependencies: detect-node-es: 1.1.0 - react: 19.0.0 + react: 19.2.7 tslib: 2.8.1 optionalDependencies: - '@types/react': 19.1.3 + '@types/react': 19.2.17 vite@7.3.3(@types/node@22.15.32)(jiti@2.7.0)(lightningcss@1.32.0)(tsx@4.21.0): dependencies: diff --git a/restore-workspace.js b/restore-workspace.js index bb18ad6d..47084023 100644 --- a/restore-workspace.js +++ b/restore-workspace.js @@ -1,9 +1,15 @@ -const fs = require('fs'); -const path = require('path'); +const fs = require("fs"); +const path = require("path"); const packagesToRestore = [ - "@query/api", "@query/auth", "@query/db", "@query/ui", - "@query/eslint-config", "@query/prettier-config", "@query/tailwind-config", "@query/tsconfig" + "@query/api", + "@query/auth", + "@query/db", + "@query/ui", + "@query/eslint-config", + "@query/prettier-config", + "@query/tailwind-config", + "@query/tsconfig", ]; function restore(dir) { @@ -17,21 +23,28 @@ function restore(dir) { for (const entry of entries) { const fullPath = path.join(dir, entry.name); if (entry.isDirectory()) { - if (!entry.name.includes('node_modules') && !entry.name.includes('.next')) { + if ( + !entry.name.includes("node_modules") && + !entry.name.includes(".next") + ) { restore(fullPath); } - } else if (entry.name === 'package.json') { + } else if (entry.name === "package.json") { try { - const fd = fs.openSync(fullPath, 'r+'); - const content = fs.readFileSync(fd, 'utf8'); + const fd = fs.openSync(fullPath, "r+"); + const content = fs.readFileSync(fd, "utf8"); const json = JSON.parse(content); let changed = false; - for (const section of ['dependencies', 'devDependencies', 'peerDependencies']) { + for (const section of [ + "dependencies", + "devDependencies", + "peerDependencies", + ]) { if (json[section]) { for (const pkg of packagesToRestore) { - if (json[section][pkg] === '*') { - json[section][pkg] = 'workspace:*'; + if (json[section][pkg] === "*") { + json[section][pkg] = "workspace:*"; changed = true; } } @@ -39,13 +52,13 @@ function restore(dir) { } if (changed) { - const output = JSON.stringify(json, null, 2) + '\n'; + const output = JSON.stringify(json, null, 2) + "\n"; fs.ftruncateSync(fd); fs.writeSync(fd, output, 0); } fs.closeSync(fd); } catch (e) { - console.error('Error processing ' + fullPath + ': ' + e.message); + console.error("Error processing " + fullPath + ": " + e.message); } } } diff --git a/sites/discordBot/nodemon.json b/sites/discordBot/nodemon.json index c7133d57..58b690d4 100644 --- a/sites/discordBot/nodemon.json +++ b/sites/discordBot/nodemon.json @@ -3,4 +3,4 @@ "ext": "ts,json", "ignore": ["src/**/*.spec.ts"], "exec": "ts-node ./src/index.ts" -} \ No newline at end of file +} diff --git a/sites/discordBot/package.json b/sites/discordBot/package.json index e1353924..7a72d677 100644 --- a/sites/discordBot/package.json +++ b/sites/discordBot/package.json @@ -23,4 +23,4 @@ "tsx": "^4.19.3", "typescript": "^6.0.2" } -} \ No newline at end of file +} diff --git a/sites/discordBot/src/commands/ask.ts b/sites/discordBot/src/commands/ask.ts index cadb9c6a..c74dcfe4 100644 --- a/sites/discordBot/src/commands/ask.ts +++ b/sites/discordBot/src/commands/ask.ts @@ -1,4 +1,8 @@ -import { SlashCommandBuilder, ChatInputCommandInteraction, EmbedBuilder } from "discord.js"; +import { + SlashCommandBuilder, + ChatInputCommandInteraction, + EmbedBuilder, +} from "discord.js"; import Fuse from "fuse.js"; import { getFullGuide } from "../notion.js"; @@ -16,46 +20,117 @@ interface SearchResult { class SynonymExpander { private static readonly SYNONYMS: Record = { - "food": ["meal", "meals", "eat", "eating", "lunch", "dinner", "breakfast", "snack", "snacks", "restaurant", "restaurants", "hungry"], - "hungry": ["food", "meal", "meals", "eat", "snack"], - "sleep": ["sleeping", "nap", "napping", "rest", "resting", "tired", "bag", "bags"], - "tired": ["sleep", "sleeping", "rest", "nap"], - "shower": ["showers", "bathroom", "restroom", "wash", "hygiene", "towel"], - "bathroom": ["shower", "showers", "restroom"], - "wifi": ["internet", "connection", "network", "online"], - "internet": ["wifi", "connection", "network"], - "swag": ["sticker", "stickers", "shirt", "shirts", "hoodie", "hoodies", "merch", "merchandise", "points"], - "prize": ["prizes", "award", "awards", "win", "winning", "reward"], - "shirt": ["shirts", "tshirt", "tshirts", "clothing", "clothes", "swag"], - "hoodie": ["hoodies", "sweatshirt", "clothing", "swag"], - "schedule": ["time", "times", "when", "timing", "agenda", "calendar", "event", "events"], - "time": ["schedule", "when", "timing"], - "when": ["time", "schedule", "timing"], - "submit": ["submission", "submissions", "devpost", "project", "upload", "turn in", "deadline"], - "deadline": ["submit", "submission", "due", "time"], - "parking": ["park", "car", "vehicle", "lot", "deck", "garage"], - "arrive": ["arriving", "arrival", "get there", "location", "directions"], - "checkin": ["check in", "check-in", "registration", "register", "badge"], - "badge": ["lanyard", "id", "checkin", "check in"], - "travel": ["flying", "flight", "airport", "uber", "lyft", "marta", "reimbursement"], - "reimbursement": ["refund", "money", "reimburse", "travel"], - "team": ["teams", "teammate", "teammates", "partner", "partners", "group"], - "partner": ["team", "teammate", "group"], - "workshop": ["workshops", "event", "events", "session", "sessions"], - "activity": ["activities", "event", "events"], - "track": ["tracks", "category", "categories", "theme"], - "challenge": ["challenges", "problem", "problems"], - "judge": ["judging", "judges", "evaluation", "scoring"], - "bring": ["pack", "packing", "need", "needed", "essentials", "items"] + food: [ + "meal", + "meals", + "eat", + "eating", + "lunch", + "dinner", + "breakfast", + "snack", + "snacks", + "restaurant", + "restaurants", + "hungry", + ], + hungry: ["food", "meal", "meals", "eat", "snack"], + sleep: [ + "sleeping", + "nap", + "napping", + "rest", + "resting", + "tired", + "bag", + "bags", + ], + tired: ["sleep", "sleeping", "rest", "nap"], + shower: ["showers", "bathroom", "restroom", "wash", "hygiene", "towel"], + bathroom: ["shower", "showers", "restroom"], + wifi: ["internet", "connection", "network", "online"], + internet: ["wifi", "connection", "network"], + swag: [ + "sticker", + "stickers", + "shirt", + "shirts", + "hoodie", + "hoodies", + "merch", + "merchandise", + "points", + ], + prize: ["prizes", "award", "awards", "win", "winning", "reward"], + shirt: ["shirts", "tshirt", "tshirts", "clothing", "clothes", "swag"], + hoodie: ["hoodies", "sweatshirt", "clothing", "swag"], + schedule: [ + "time", + "times", + "when", + "timing", + "agenda", + "calendar", + "event", + "events", + ], + time: ["schedule", "when", "timing"], + when: ["time", "schedule", "timing"], + submit: [ + "submission", + "submissions", + "devpost", + "project", + "upload", + "turn in", + "deadline", + ], + deadline: ["submit", "submission", "due", "time"], + parking: ["park", "car", "vehicle", "lot", "deck", "garage"], + arrive: ["arriving", "arrival", "get there", "location", "directions"], + checkin: ["check in", "check-in", "registration", "register", "badge"], + badge: ["lanyard", "id", "checkin", "check in"], + travel: [ + "flying", + "flight", + "airport", + "uber", + "lyft", + "marta", + "reimbursement", + ], + reimbursement: ["refund", "money", "reimburse", "travel"], + team: ["teams", "teammate", "teammates", "partner", "partners", "group"], + partner: ["team", "teammate", "group"], + workshop: ["workshops", "event", "events", "session", "sessions"], + activity: ["activities", "event", "events"], + track: ["tracks", "category", "categories", "theme"], + challenge: ["challenges", "problem", "problems"], + judge: ["judging", "judges", "evaluation", "scoring"], + bring: ["pack", "packing", "need", "needed", "essentials", "items"], }; - private static readonly STOP_WORDS = ["a", "an", "the", "do", "does", "is", "are", "can", "could", "would", "should"]; + private static readonly STOP_WORDS = [ + "a", + "an", + "the", + "do", + "does", + "is", + "are", + "can", + "could", + "would", + "should", + ]; static expandQuery(query: string): string { const words = this.tokenize(query); const allTerms = new Set(); for (const word of words) this.addWordAndSynonyms(word, allTerms); - return Array.from(allTerms).map(term => `'${term}`).join(" | "); + return Array.from(allTerms) + .map((term) => `'${term}`) + .join(" | "); } private static tokenize(query: string): string[] { @@ -63,21 +138,21 @@ class SynonymExpander { .toLowerCase() .replace(/[?.!,]/g, "") .split(/\s+/) - .filter(word => word.length > 1 && !this.STOP_WORDS.includes(word)); + .filter((word) => word.length > 1 && !this.STOP_WORDS.includes(word)); } private static addWordAndSynonyms(word: string, termSet: Set): void { termSet.add(word); - if (this.SYNONYMS[word]) this.SYNONYMS[word].forEach(s => termSet.add(s)); - const singular = word.endsWith('s') ? word.slice(0, -1) : null; + if (this.SYNONYMS[word]) this.SYNONYMS[word].forEach((s) => termSet.add(s)); + const singular = word.endsWith("s") ? word.slice(0, -1) : null; if (singular && this.SYNONYMS[singular]) { termSet.add(singular); - this.SYNONYMS[singular].forEach(s => termSet.add(s)); + this.SYNONYMS[singular].forEach((s) => termSet.add(s)); } for (const [key, synonymList] of Object.entries(this.SYNONYMS)) { if (synonymList.includes(word)) { termSet.add(key); - synonymList.forEach(s => termSet.add(s)); + synonymList.forEach((s) => termSet.add(s)); } } } @@ -92,24 +167,26 @@ class GuideSearchEngine { if (!this.fuse) throw new Error("Search index unavailable"); const expandedQuery = SynonymExpander.expandQuery(query); const results = this.fuse.search(expandedQuery); - return results.map(r => ({ item: r.item, score: r.score ?? 1 })); + return results.map((r) => ({ item: r.item, score: r.score ?? 1 })); } private async ensureIndexReady(): Promise { - if (this.fuse && (Date.now() - this.lastUpdated <= CACHE_TTL)) return; + if (this.fuse && Date.now() - this.lastUpdated <= CACHE_TTL) return; await this.rebuildIndex(); } private async rebuildIndex(): Promise { const rawSections = await getFullGuide(); - const searchData: SearchableSection[] = Object.entries(rawSections).map(([title, lines]) => ({ - title, - content: lines.join("\n") - })); + const searchData: SearchableSection[] = Object.entries(rawSections).map( + ([title, lines]) => ({ + title, + content: lines.join("\n"), + }), + ); this.fuse = new Fuse(searchData, { keys: [ { name: "title", weight: 3 }, - { name: "content", weight: 1 } + { name: "content", weight: 1 }, ], useExtendedSearch: true, threshold: 0.4, @@ -117,25 +194,29 @@ class GuideSearchEngine { includeScore: true, minMatchCharLength: 2, distance: 200, - findAllMatches: true + findAllMatches: true, }); this.lastUpdated = Date.now(); } } class SearchResultFormatter { - private static readonly EMBED_COLOR = 0xCBA135; + private static readonly EMBED_COLOR = 0xcba135; static formatEmbed(result: SearchResult): EmbedBuilder { return new EmbedBuilder() .setTitle(result.item.title) .setDescription(result.item.content || "No content available.") .setColor(this.EMBED_COLOR) - .setFooter({ text: `Match confidence: ${((1 - result.score) * 100).toFixed(0)}%` }); + .setFooter({ + text: `Match confidence: ${((1 - result.score) * 100).toFixed(0)}%`, + }); } static getWarningMessage(score: number): string | null { - return score > 0.5 ? "This might not be exactly what you're looking for, but it's the closest match I found:\n\n" : null; + return score > 0.5 + ? "This might not be exactly what you're looking for, but it's the closest match I found:\n\n" + : null; } static getNoResultsMessage(): string { @@ -148,29 +229,40 @@ const searchEngine = new GuideSearchEngine(); export const data = new SlashCommandBuilder() .setName("ask") .setDescription("Ask a question about Hacklytics 2026.") - .addStringOption(option => - option.setName("query").setDescription("What's your question?").setRequired(true) + .addStringOption((option) => + option + .setName("query") + .setDescription("What's your question?") + .setRequired(true), ); export async function execute(interaction: ChatInputCommandInteraction) { await interaction.deferReply({ ephemeral: true }); const rawQuery = interaction.options.getString("query"); - if (!rawQuery?.trim()) return interaction.editReply("Please provide a question."); + if (!rawQuery?.trim()) + return interaction.editReply("Please provide a question."); try { const results = await searchEngine.search(rawQuery); - if (results.length === 0) return interaction.editReply({ content: SearchResultFormatter.getNoResultsMessage() }); + if (results.length === 0) + return interaction.editReply({ + content: SearchResultFormatter.getNoResultsMessage(), + }); const topResult = results[0]; const embed = SearchResultFormatter.formatEmbed(topResult); - const warningMessage = SearchResultFormatter.getWarningMessage(topResult.score); + const warningMessage = SearchResultFormatter.getWarningMessage( + topResult.score, + ); await interaction.editReply({ content: warningMessage || undefined, - embeds: [embed] + embeds: [embed], }); } catch (error) { console.error("Search error:", error); - await interaction.editReply("Search system temporarily offline. Please try again or use /guide to browse sections."); + await interaction.editReply( + "Search system temporarily offline. Please try again or use /guide to browse sections.", + ); } } diff --git a/sites/discordBot/src/commands/clear.ts b/sites/discordBot/src/commands/clear.ts index 75f10db3..39ee9f3c 100644 --- a/sites/discordBot/src/commands/clear.ts +++ b/sites/discordBot/src/commands/clear.ts @@ -31,22 +31,21 @@ class PermissionValidator { private static getAllowedRoles(guild: Guild): Role[] { return guild.roles.cache - .filter(role => this.REQUIRED_ROLE_NAMES.includes(role.name)) - .map(role => role); + .filter((role) => this.REQUIRED_ROLE_NAMES.includes(role.name)) + .map((role) => role); } private static memberHasAnyRole(member: GuildMember, roles: Role[]): boolean { - return roles.some(role => member.roles.cache.has(role.id)); + return roles.some((role) => member.roles.cache.has(role.id)); } } class MessageCleaner { - private static readonly MAX_BULK_DELETE_AGE_MS = - 14 * 24 * 60 * 60 * 1000; + private static readonly MAX_BULK_DELETE_AGE_MS = 14 * 24 * 60 * 60 * 1000; static async clearMessages( channel: TextChannel, - amount: number + amount: number, ): Promise { try { const messages = await this.fetchMessages(channel, amount); @@ -60,10 +59,7 @@ class MessageCleaner { } const deletableMessages = this.filterDeletableMessages(messages); - const deletedMessages = await channel.bulkDelete( - deletableMessages, - true - ); + const deletedMessages = await channel.bulkDelete(deletableMessages, true); return { success: true, @@ -81,17 +77,17 @@ class MessageCleaner { private static async fetchMessages( channel: TextChannel, - limit: number + limit: number, ): Promise> { return channel.messages.fetch({ limit }); } private static filterDeletableMessages( - messages: Collection + messages: Collection, ): Collection { const now = Date.now(); - return messages.filter(msg => { + return messages.filter((msg) => { const messageAge = now - msg.createdTimestamp; return messageAge < this.MAX_BULK_DELETE_AGE_MS; }); @@ -111,9 +107,7 @@ class MessageCleaner { } class ClearCommandValidator { - static validateContext( - interaction: ChatInputCommandInteraction - ): { + static validateContext(interaction: ChatInputCommandInteraction): { valid: boolean; member?: GuildMember; guild?: Guild; @@ -149,7 +143,7 @@ class ClearCommandValidator { class ClearCommandExecutor { static async execute( - interaction: ChatInputCommandInteraction + interaction: ChatInputCommandInteraction, ): Promise { const validation = ClearCommandValidator.validateContext(interaction); @@ -182,13 +176,11 @@ class ClearCommandExecutor { content: result.deletedCount > 0 ? `Successfully deleted ${result.deletedCount} message(s).` - : result.error ?? "No messages deleted.", + : (result.error ?? "No messages deleted."), }); } else { await interaction.editReply({ - content: - result.error ?? - "An error occurred while deleting messages.", + content: result.error ?? "An error occurred while deleting messages.", }); } } @@ -197,17 +189,17 @@ class ClearCommandExecutor { export const data = new SlashCommandBuilder() .setName("clear") .setDescription("Clear messages from a channel (Organizers only).") - .addIntegerOption(option => + .addIntegerOption((option) => option .setName("amount") .setDescription("Number of messages to delete (1–50).") .setRequired(true) .setMinValue(1) - .setMaxValue(50) + .setMaxValue(50), ); export async function execute( - interaction: ChatInputCommandInteraction + interaction: ChatInputCommandInteraction, ): Promise { await ClearCommandExecutor.execute(interaction); } diff --git a/sites/discordBot/src/commands/guide.ts b/sites/discordBot/src/commands/guide.ts index a678ed5b..6ecee22d 100644 --- a/sites/discordBot/src/commands/guide.ts +++ b/sites/discordBot/src/commands/guide.ts @@ -4,7 +4,7 @@ import { StringSelectMenuBuilder, ActionRowBuilder, StringSelectMenuInteraction, - EmbedBuilder + EmbedBuilder, } from "discord.js"; import { getFullGuide, GuideSections } from "../notion.js"; @@ -23,10 +23,12 @@ class Guide { } static getSelectMenuOptions(sections: GuideSections) { - return Object.keys(sections).slice(0, 25).map(label => ({ - label: label.substring(0, 100), - value: label.substring(0, 100), - })); + return Object.keys(sections) + .slice(0, 25) + .map((label) => ({ + label: label.substring(0, 100), + value: label.substring(0, 100), + })); } static formatContent(lines?: string[]): string { @@ -51,7 +53,7 @@ export async function execute(interaction: CommandInteraction) { new StringSelectMenuBuilder() .setCustomId("guide_select") .setPlaceholder("Select a topic") - .addOptions(options) + .addOptions(options), ); await interaction.editReply({ @@ -60,7 +62,9 @@ export async function execute(interaction: CommandInteraction) { }); } -export async function handleSelectMenu(interaction: StringSelectMenuInteraction) { +export async function handleSelectMenu( + interaction: StringSelectMenuInteraction, +) { await interaction.deferUpdate(); const selection = interaction.values[0]; diff --git a/sites/discordBot/src/commands/meow.ts b/sites/discordBot/src/commands/meow.ts index fa9423a9..e6b8d235 100644 --- a/sites/discordBot/src/commands/meow.ts +++ b/sites/discordBot/src/commands/meow.ts @@ -1,4 +1,8 @@ -import { SlashCommandBuilder, ChatInputCommandInteraction, MessageFlags } from "discord.js"; +import { + SlashCommandBuilder, + ChatInputCommandInteraction, + MessageFlags, +} from "discord.js"; export const data = new SlashCommandBuilder() .setName("meow") @@ -21,7 +25,7 @@ export async function execute(interaction: ChatInputCommandInteraction) { cooldownUsers.add(userId); setTimeout(() => cooldownUsers.delete(userId), COOLDOWN_MS); - const emoji = interaction.guild?.emojis.cache.find(e => e.name === "image"); + const emoji = interaction.guild?.emojis.cache.find((e) => e.name === "image"); await interaction.reply({ content: `no more MEOWS ${emoji ?? ""}`, }); diff --git a/sites/discordBot/src/commands/roles.ts b/sites/discordBot/src/commands/roles.ts index 6e6fe6e8..caedf7ba 100644 --- a/sites/discordBot/src/commands/roles.ts +++ b/sites/discordBot/src/commands/roles.ts @@ -62,7 +62,7 @@ export async function execute(interaction: CommandInteraction) { !r.managed && r.id !== guild.id && r.position < botMember.roles.highest.position && - !BLOCKED_ROLES.includes(r.name) + !BLOCKED_ROLES.includes(r.name), ) .sort((a, b) => b.position - a.position) .first(25); @@ -93,9 +93,11 @@ export async function execute(interaction: CommandInteraction) { } export async function handleButton(interaction: Interaction) { - if (!interaction.isButton() || !interaction.guild || !interaction.member) return; + if (!interaction.isButton() || !interaction.guild || !interaction.member) + return; - const memberRoles = (interaction.member as GuildMember).roles as GuildMemberRoleManager; + const memberRoles = (interaction.member as GuildMember) + .roles as GuildMemberRoleManager; const roleId = interaction.customId.replace("role_", ""); const role = interaction.guild.roles.cache.get(roleId); diff --git a/sites/discordBot/src/commands/startEvent.ts b/sites/discordBot/src/commands/startEvent.ts index aae99cec..ee2cb376 100644 --- a/sites/discordBot/src/commands/startEvent.ts +++ b/sites/discordBot/src/commands/startEvent.ts @@ -19,7 +19,7 @@ class EventScheduler { static calculateDelay(hours: number, minutes: number): number { const now = new Date(); const nowEST = new Date( - now.toLocaleString("en-US", { timeZone: this.EST_TIMEZONE }) + now.toLocaleString("en-US", { timeZone: this.EST_TIMEZONE }), ); const target = new Date(nowEST); @@ -41,30 +41,31 @@ export const data = new SlashCommandBuilder() .setName("start") .setDescription("Announce or schedule an event") .setDefaultMemberPermissions(PermissionFlagsBits.Administrator) - .addChannelOption(option => + .addChannelOption((option) => option .setName("channel") .setDescription("Channel where the announcement will be sent") .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement) - .setRequired(false) + .setRequired(false), ) - .addRoleOption(option => + .addRoleOption((option) => option .setName("role") .setDescription("Role to notify when the event is announced") - .setRequired(false) + .setRequired(false), ) - .addStringOption(option => - option - .setName("message") - .setDescription("The announcement message") - .setRequired(false) // Validation logic handles requirement to allow optional Role before required Message + .addStringOption( + (option) => + option + .setName("message") + .setDescription("The announcement message") + .setRequired(false), // Validation logic handles requirement to allow optional Role before required Message ) - .addStringOption(option => + .addStringOption((option) => option .setName("start_time") .setDescription("Scheduled start time in EST (HH:mm, 24-hour format)") - .setRequired(false) + .setRequired(false), ); export async function execute(interaction: ChatInputCommandInteraction) { @@ -77,7 +78,8 @@ export async function execute(interaction: ChatInputCommandInteraction) { if (!messageContent) { return interaction.reply({ - content: "You initiate a start command but didn't provide a message what is wrong with you?", + content: + "You initiate a start command but didn't provide a message what is wrong with you?", ephemeral: true, }); } @@ -103,7 +105,7 @@ export async function execute(interaction: ChatInputCommandInteraction) { const delay = EventScheduler.calculateDelay( parsedTime.hours, - parsedTime.minutes + parsedTime.minutes, ); setTimeout(sendAnnouncement, delay); diff --git a/sites/discordBot/src/env.ts b/sites/discordBot/src/env.ts index 768b2f81..21992241 100644 --- a/sites/discordBot/src/env.ts +++ b/sites/discordBot/src/env.ts @@ -15,4 +15,4 @@ const envSchema = z.object({ NOTION_GUIDE_PAGE_ID: z.string().min(1), }); -export const env = envSchema.parse(process.env); \ No newline at end of file +export const env = envSchema.parse(process.env); diff --git a/sites/discordBot/src/index.ts b/sites/discordBot/src/index.ts index 6984cbf3..6d0d066f 100644 --- a/sites/discordBot/src/index.ts +++ b/sites/discordBot/src/index.ts @@ -66,7 +66,9 @@ class Bot { if (command?.data && typeof command.execute === "function") { this.commands.push(command); } else { - console.warn(` [WARNING] Skipping ${file}: Missing 'data' or 'execute' exports`); + console.warn( + ` [WARNING] Skipping ${file}: Missing 'data' or 'execute' exports`, + ); } } catch (err) { console.error(` [ERROR] Failed to load ${file}:`, err); @@ -106,8 +108,12 @@ class Bot { } } - private async handleSlashCommand(interaction: CommandInteraction): Promise { - const command = this.commands.find((c) => c.data.name === interaction.commandName); + private async handleSlashCommand( + interaction: CommandInteraction, + ): Promise { + const command = this.commands.find( + (c) => c.data.name === interaction.commandName, + ); if (!command) return; try { @@ -126,7 +132,9 @@ class Bot { } } - private async handleSelectMenu(interaction: StringSelectMenuInteraction): Promise { + private async handleSelectMenu( + interaction: StringSelectMenuInteraction, + ): Promise { const commandName = interaction.customId.split("_")[0]; const command = this.commands.find((c) => c.data.name === commandName); @@ -137,7 +145,10 @@ class Bot { } catch (err) { console.error("Select menu error:", err); if (!interaction.replied) { - await interaction.reply({ content: "[WARNING] Menu interaction failed.", ephemeral: true }); + await interaction.reply({ + content: "[WARNING] Menu interaction failed.", + ephemeral: true, + }); } } } @@ -154,33 +165,50 @@ class Bot { const role = interaction.guild?.roles.cache.get(roleId); if (!role) { - await interaction.reply({ content: "Role not found.", ephemeral: true }); + await interaction.reply({ + content: "Role not found.", + ephemeral: true, + }); return; } try { if (member.roles.cache.has(roleId)) { await member.roles.remove(roleId); - await interaction.reply({ content: `Removed **${role.name}**.`, ephemeral: true }); + await interaction.reply({ + content: `Removed **${role.name}**.`, + ephemeral: true, + }); } else { await member.roles.add(roleId); - await interaction.reply({ content: `Added **${role.name}**.`, ephemeral: true }); + await interaction.reply({ + content: `Added **${role.name}**.`, + ephemeral: true, + }); } } catch { - await interaction.reply({ content: "Missing permissions to manage that role.", ephemeral: true }); + await interaction.reply({ + content: "Missing permissions to manage that role.", + ephemeral: true, + }); } return; } // Then delegate to command handlers - const commandWithButton = this.commands.find((c) => typeof c.handleButton === "function"); + const commandWithButton = this.commands.find( + (c) => typeof c.handleButton === "function", + ); if (commandWithButton?.handleButton) { try { await commandWithButton.handleButton(interaction); } catch (err) { console.error("Button error:", err); if (!interaction.replied) { - await interaction.reply({ content: "[WARNING] Button interaction failed.", ephemeral: true }); + await interaction.reply({ + content: "[WARNING] Button interaction failed.", + ephemeral: true, + }); } } } @@ -198,15 +226,18 @@ process.on("SIGTERM", () => { process.exit(0); }); -bot.start().then(() => { - // Start dummy HTTP server for Cloud Run health checks - const port = process.env.PORT || 8080; - const server = http.createServer((req, res) => { - res.writeHead(200); - res.end("Discord Bot is running"); +bot + .start() + .then(() => { + // Start dummy HTTP server for Cloud Run health checks + const port = process.env.PORT || 8080; + const server = http.createServer((req, res) => { + res.writeHead(200); + res.end("Discord Bot is running"); + }); + server.listen(port, () => {}); + }) + .catch((err) => { + console.error("Fatal startup error:", err); + process.exit(1); }); - server.listen(port, () => {}); -}).catch((err) => { - console.error("Fatal startup error:", err); - process.exit(1); -}); diff --git a/sites/discordBot/src/notion.ts b/sites/discordBot/src/notion.ts index 3769880b..bb60e1a8 100644 --- a/sites/discordBot/src/notion.ts +++ b/sites/discordBot/src/notion.ts @@ -70,7 +70,9 @@ async function getBlockChildren(blockId: string): Promise { } function extractText(block: NotionBlock): string { - const content = block[block.type] as { rich_text?: RichTextSegment[] } | undefined; + const content = block[block.type] as + | { rich_text?: RichTextSegment[] } + | undefined; if (!content?.rich_text?.length) return ""; const text = content.rich_text @@ -85,7 +87,9 @@ function extractText(block: NotionBlock): string { } if (seg.href) { - const url = seg.href.startsWith("/") ? `https://notion.so${seg.href}` : seg.href; + const url = seg.href.startsWith("/") + ? `https://notion.so${seg.href}` + : seg.href; return seg.plain_text.trim() === url ? url : `[${t.trim()}](${url})`; } @@ -161,4 +165,4 @@ export async function getFullGuide(): Promise { } return sections; -} \ No newline at end of file +} diff --git a/sites/discordBot/src/tests/testAsk.ts b/sites/discordBot/src/tests/testAsk.ts index 06069581..71d5fbfd 100644 --- a/sites/discordBot/src/tests/testAsk.ts +++ b/sites/discordBot/src/tests/testAsk.ts @@ -1,183 +1,223 @@ // src/tests/testAll.ts -import fs from 'fs'; -import path from 'path'; -import { fileURLToPath } from 'url'; +import fs from "fs"; +import path from "path"; +import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // --- THE NASTY LIST --- const edgeCases = [ - "", - " ", - "a".repeat(2005), - "DROP TABLE users; --", - "", - "{{7*7}}", - "\\u0000", - "undefined", - "NaN", - "unicode_test_accents_and_foreign_chars_汉字", - "zalgo_t̹e̖x̗t", - "__proto__", // The one that broke 'ask.ts' - "$$$$$$$$", + "", + " ", + "a".repeat(2005), + "DROP TABLE users; --", + "", + "{{7*7}}", + "\\u0000", + "undefined", + "NaN", + "unicode_test_accents_and_foreign_chars_汉字", + "zalgo_t̹e̖x̗t", + "__proto__", // The one that broke 'ask.ts' + "$$$$$$$$", ]; class MockInteraction { - commandName: string; - optionsMap: Map; - replied: boolean = false; - deferred: boolean = false; - logs: string[] = []; - - channelId = "channel-123"; - user = { id: "user-999", username: "TestUser", discriminator: "0000" }; - - constructor(commandName: string, optionsData: Record = {}) { - this.commandName = commandName; - this.optionsMap = new Map(Object.entries(optionsData)); - } - - isChatInputCommand() { return true; } - isButton() { return false; } - isStringSelectMenu() { return false; } - - get options() { - return { - getString: (name: string) => this.optionsMap.get(name) ?? null, - getInteger: (name: string) => this.optionsMap.get(name) ?? 0, - getBoolean: (name: string) => this.optionsMap.get(name) ?? false, - getRole: (name: string) => ({ id: "role-123", name: "MockRole", toString: () => "<@&role-123>" }), - getChannel: (name: string) => this._createMockChannel("channel-target"), - getUser: (name: string) => this.user, - }; - } - - // --- 1. MOCK CLIENT (Fixes crashes accessing client.user, client.uptime, etc) --- - get client() { - return { - user: { id: "bot-id", username: "HackBot" }, - uptime: 1000, - users: { - cache: { - get: (id: string) => ({ id, username: "MockUser" }), - has: (id: string) => true - } - }, - guilds: { - cache: { - get: (id: string) => this.guild - } - } - }; - } - - // --- 2. MOCK GUILD (Fixes crashes accessing guild.members.cache) --- - get guild() { - return { - id: "guild-001", - name: "Hacklytics Guild", - members: { - cache: { - get: (id: string) => ({ id, user: { username: "Member" }, roles: { cache: [] } }), - find: (fn: Function) => null, - has: (id: string) => true - }, - // In case command uses .fetch() - fetch: async (id: string) => ({ id, user: { username: "FetchedMember" } }) - }, - roles: { - cache: { - get: (id: string) => ({ id, name: "some-role" }), - find: () => null - } - } - }; - } - - get channel() { return this._createMockChannel("channel-current"); } - - _createMockChannel(id: string) { - return { + commandName: string; + optionsMap: Map; + replied: boolean = false; + deferred: boolean = false; + logs: string[] = []; + + channelId = "channel-123"; + user = { id: "user-999", username: "TestUser", discriminator: "0000" }; + + constructor(commandName: string, optionsData: Record = {}) { + this.commandName = commandName; + this.optionsMap = new Map(Object.entries(optionsData)); + } + + isChatInputCommand() { + return true; + } + isButton() { + return false; + } + isStringSelectMenu() { + return false; + } + + get options() { + return { + getString: (name: string) => this.optionsMap.get(name) ?? null, + getInteger: (name: string) => this.optionsMap.get(name) ?? 0, + getBoolean: (name: string) => this.optionsMap.get(name) ?? false, + getRole: (name: string) => ({ + id: "role-123", + name: "MockRole", + toString: () => "<@&role-123>", + }), + getChannel: (name: string) => this._createMockChannel("channel-target"), + getUser: (name: string) => this.user, + }; + } + + // --- 1. MOCK CLIENT (Fixes crashes accessing client.user, client.uptime, etc) --- + get client() { + return { + user: { id: "bot-id", username: "HackBot" }, + uptime: 1000, + users: { + cache: { + get: (id: string) => ({ id, username: "MockUser" }), + has: (id: string) => true, + }, + }, + guilds: { + cache: { + get: (id: string) => this.guild, + }, + }, + }; + } + + // --- 2. MOCK GUILD (Fixes crashes accessing guild.members.cache) --- + get guild() { + return { + id: "guild-001", + name: "Hacklytics Guild", + members: { + cache: { + get: (id: string) => ({ id, - name: "general", - isTextBased: () => true, - send: async (payload: any) => { - const content = typeof payload === 'string' ? payload : payload.content; - this._log(`[CHANNEL_SEND] to #${id}: ${content}`); - return { id: "msg-123" }; - } - }; - } - - async deferReply(opts?: any) { - this.deferred = true; - this._log(`[DEFER] Ephemeral: ${opts?.ephemeral ?? false}`); - } - - async reply(response: any) { - if (this.replied) throw new Error("Double Reply Detected!"); - this.replied = true; - this._extractContent("REPLY", response); - } - - async editReply(response: any) { - this._extractContent("EDIT_REPLY", response); - } - - async followUp(response: any) { - this._extractContent("FOLLOW_UP", response); - } - - async deferUpdate() { this._log("[DEFER_UPDATE]"); } - - _extractContent(type: string, response: any) { - let text = ""; - if (typeof response === 'string') text = response; - else if (response?.content) text = response.content; - else if (response?.embeds?.[0]) text = `[Embed] ${response.embeds[0].data.title}`; - else text = "[Complex Object]"; - - this._log(`[${type}] ${text.substring(0, 60).replace(/\n/g, ' ')}...`); - } - - _log(msg: string) { this.logs.push(msg); } + user: { username: "Member" }, + roles: { cache: [] }, + }), + find: (fn: Function) => null, + has: (id: string) => true, + }, + // In case command uses .fetch() + fetch: async (id: string) => ({ + id, + user: { username: "FetchedMember" }, + }), + }, + roles: { + cache: { + get: (id: string) => ({ id, name: "some-role" }), + find: () => null, + }, + }, + }; + } + + get channel() { + return this._createMockChannel("channel-current"); + } + + _createMockChannel(id: string) { + return { + id, + name: "general", + isTextBased: () => true, + send: async (payload: any) => { + const content = typeof payload === "string" ? payload : payload.content; + this._log(`[CHANNEL_SEND] to #${id}: ${content}`); + return { id: "msg-123" }; + }, + }; + } + + async deferReply(opts?: any) { + this.deferred = true; + this._log(`[DEFER] Ephemeral: ${opts?.ephemeral ?? false}`); + } + + async reply(response: any) { + if (this.replied) throw new Error("Double Reply Detected!"); + this.replied = true; + this._extractContent("REPLY", response); + } + + async editReply(response: any) { + this._extractContent("EDIT_REPLY", response); + } + + async followUp(response: any) { + this._extractContent("FOLLOW_UP", response); + } + + async deferUpdate() { + this._log("[DEFER_UPDATE]"); + } + + _extractContent(type: string, response: any) { + let text = ""; + if (typeof response === "string") text = response; + else if (response?.content) text = response.content; + else if (response?.embeds?.[0]) + text = `[Embed] ${response.embeds[0].data.title}`; + else text = "[Complex Object]"; + + this._log(`[${type}] ${text.substring(0, 60).replace(/\n/g, " ")}...`); + } + + _log(msg: string) { + this.logs.push(msg); + } } async function runSuite() { - const commandsPath = path.join(__dirname, '../commands'); - const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.ts')); - - for (const file of commandFiles) { - const filePath = path.join(commandsPath, file); - const commandName = file.replace('.ts', ''); - - try { - const module = await import(`file://${filePath}`); - if (!module.execute) continue; - - const happyInputs = { query: "food", event_name: "Test Event", channel: "announcements", input: "test" }; - await runTest(module, commandName, happyInputs, "[SUCCESS] Happy Path"); - - for (const evil of edgeCases) { - const evilInputs = { query: evil, event_name: evil, start_time: evil, input: evil }; - await runTest(module, commandName, evilInputs, `[FUZZ] Fuzz: "${evil.substring(0,10)}..."`); - } - } catch (error) { - console.error(` [ERROR] FATAL LOAD ERROR: ${file}`, error); - } + const commandsPath = path.join(__dirname, "../commands"); + const commandFiles = fs + .readdirSync(commandsPath) + .filter((file) => file.endsWith(".ts")); + + for (const file of commandFiles) { + const filePath = path.join(commandsPath, file); + const commandName = file.replace(".ts", ""); + + try { + const module = await import(`file://${filePath}`); + if (!module.execute) continue; + + const happyInputs = { + query: "food", + event_name: "Test Event", + channel: "announcements", + input: "test", + }; + await runTest(module, commandName, happyInputs, "[SUCCESS] Happy Path"); + + for (const evil of edgeCases) { + const evilInputs = { + query: evil, + event_name: evil, + start_time: evil, + input: evil, + }; + await runTest( + module, + commandName, + evilInputs, + `[FUZZ] Fuzz: "${evil.substring(0, 10)}..."`, + ); + } + } catch (error) { + console.error(` [ERROR] FATAL LOAD ERROR: ${file}`, error); } + } } async function runTest(module: any, name: string, inputs: any, label: string) { - const mock = new MockInteraction(name, inputs); - try { - await module.execute(mock); - mock.logs.length === 0; - } catch (err: any) { - console.error(` [ERROR] CRASH | ${label}`); - console.error(` Stack: ${err.message.split('\n')[0]}`); - } + const mock = new MockInteraction(name, inputs); + try { + await module.execute(mock); + } catch (err: any) { + console.error(` [ERROR] CRASH | ${label}`); + console.error(` Stack: ${err.message.split("\n")[0]}`); + } } -runSuite(); \ No newline at end of file +runSuite(); diff --git a/sites/discordBot/temp_checkin.cjs b/sites/discordBot/temp_checkin.cjs index 06ad9088..94448080 100644 --- a/sites/discordBot/temp_checkin.cjs +++ b/sites/discordBot/temp_checkin.cjs @@ -1,22 +1,25 @@ -const https = require('https'); +const https = require("https"); const token = process.env.NOTION_API_TOKEN; -const pageId = '2aac5c7f-72ad-80bf-a0f9-c66c9626abfb'; +const pageId = "2aac5c7f-72ad-80bf-a0f9-c66c9626abfb"; function getChildren(id) { - return new Promise(resolve => { - https.get({ - hostname: 'api.notion.com', - path: '/v1/blocks/' + id + '/children', - headers: { - Authorization: 'Bearer ' + token, - 'Notion-Version': '2022-06-28' - } - }, res => { - let data = ''; - res.on('data', chunk => data += chunk); - res.on('end', () => resolve(JSON.parse(data).results)); - }); + return new Promise((resolve) => { + https.get( + { + hostname: "api.notion.com", + path: "/v1/blocks/" + id + "/children", + headers: { + Authorization: "Bearer " + token, + "Notion-Version": "2022-06-28", + }, + }, + (res) => { + let data = ""; + res.on("data", (chunk) => (data += chunk)); + res.on("end", () => resolve(JSON.parse(data).results)); + }, + ); }); } @@ -25,14 +28,14 @@ async function printCheckIn(id) { let inCheckIn = false; for (let i = 0; i < children.length; i++) { const b = children[i]; - const text = (b[b.type]?.rich_text || []).map(x => x.plain_text).join(''); - if (b.type === 'heading_1' && text.includes('Check In')) { + const text = (b[b.type]?.rich_text || []).map((x) => x.plain_text).join(""); + if (b.type === "heading_1" && text.includes("Check In")) { inCheckIn = true; - console.log('??? ' + text); + console.log("??? " + text); continue; } if (inCheckIn) { - if (b.type === 'heading_1') break; // stop at next heading_1 + if (b.type === "heading_1") break; // stop at next heading_1 console.log(text); } } diff --git a/sites/discordBot/tsconfig.json b/sites/discordBot/tsconfig.json index 8b2601f0..68c2c417 100644 --- a/sites/discordBot/tsconfig.json +++ b/sites/discordBot/tsconfig.json @@ -11,18 +11,11 @@ "resolveJsonModule": true, "skipLibCheck": true, "allowSyntheticDefaultImports": true, - "types": [ - "node" - ], + "types": ["node"], "forceConsistentCasingInFileNames": true, "declaration": true, "sourceMap": true }, - "include": [ - "src/**/*" - ], - "exclude": [ - "node_modules", - "dist" - ] -} \ No newline at end of file + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/sites/hacklytics2027/.firebaserc b/sites/hacklytics2027/.firebaserc deleted file mode 100644 index 103f4582..00000000 --- a/sites/hacklytics2027/.firebaserc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "projects": { - "default": "dsgt-website" - } -} diff --git a/sites/hacklytics2027/app/CodeOfConductFooter.tsx b/sites/hacklytics2027/app/CodeOfConductFooter.tsx index 8e0dd452..036062d2 100644 --- a/sites/hacklytics2027/app/CodeOfConductFooter.tsx +++ b/sites/hacklytics2027/app/CodeOfConductFooter.tsx @@ -8,7 +8,9 @@ export default function CodeOfConductFooter() { {open && (
- MLH Code of Conduct + + MLH Code of Conduct +
- TL;DR. Be respectful. Harassment and abuse are never tolerated. If you are in a situation that makes you uncomfortable at an MLH Member Event, if the event itself creates an unsafe or inappropriate environment, or if interacting with an MLH representative or event organizer makes you uncomfortable, please report it using the procedures included in this document. - -

Major League Hacking (MLH) stands for inclusivity. We believe that every single person has the right to hack in a safe and welcoming environment.

- -

Harassment includes but is not limited to offensive verbal or written comments related to gender, age, sexual orientation, disability, physical appearance, body size, race, religion, social class, economic status, and veteran status. Additional cases of harassment include but are not limited to sharing sexual images, violent depictions, vulgar language, deliberate intimidation, stalking, following, brigading, doxxing, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

- -

In particular, attendees should not use sexualized images, activities, or other material both in their hacks and during the event. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes or otherwise create a sexualized environment.

- -

If what you're doing is making someone feel uncomfortable, that counts as harassment and is enough reason to stop doing it. Participants asked to stop any harassing behavior are expected to comply immediately.

- -

Sponsors, judges, mentors, volunteers, organizers, MLH staff, and anyone else participating in the event are also subject to the anti-harassment policy.

- -

If a participant engages in harassing behavior, MLH may take any action it deems appropriate, including warning the offender or expulsion from the event with no eligibility for reimbursement or refund of any type.

- -

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact MLH using the reporting procedures defined below.

- -

MLH representatives can help participants contact campus security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the event. We value your attendance.

- -

We expect participants to follow these rules at all hackathon venues, hackathon-related social events, hackathon-supplied transportation, and online interactions related to the event.

- - Reporting Procedures -

If you feel uncomfortable or think there may be a potential violation of the code of conduct, please report it immediately using one of the following methods. All reporters have the right to remain anonymous.

-

By sending information to the general reporting line, your report will go to our incident response team members.

- + + TL;DR. Be respectful. Harassment and abuse are never tolerated. If + you are in a situation that makes you uncomfortable at an MLH + Member Event, if the event itself creates an unsafe or + inappropriate environment, or if interacting with an MLH + representative or event organizer makes you uncomfortable, please + report it using the procedures included in this document. + + +

+ Major League Hacking (MLH) stands for inclusivity. We believe that + every single person has the right to hack in a safe and welcoming + environment. +

+ +

+ Harassment includes but is not limited to offensive verbal or + written comments related to gender, age, sexual orientation, + disability, physical appearance, body size, race, religion, social + class, economic status, and veteran status. Additional cases of + harassment include but are not limited to sharing sexual images, + violent depictions, vulgar language, deliberate intimidation, + stalking, following, brigading, doxxing, harassing photography or + recording, sustained disruption of talks or other events, + inappropriate physical contact, and unwelcome sexual attention. +

+ +

+ In particular, attendees should not use sexualized images, + activities, or other material both in their hacks and during the + event. Booth staff (including volunteers) should not use + sexualized clothing/uniforms/costumes or otherwise create a + sexualized environment. +

+ +

+ If what you're doing is making someone feel uncomfortable, that + counts as harassment and is enough reason to stop doing it. + Participants asked to stop any harassing behavior are expected to + comply immediately. +

+ +

+ Sponsors, judges, mentors, volunteers, organizers, MLH staff, and + anyone else participating in the event are also subject to the + anti-harassment policy. +

+ +

+ If a participant engages in harassing behavior, MLH may take any + action it deems appropriate, including warning the offender or + expulsion from the event with no eligibility for reimbursement or + refund of any type. +

+ +

+ If you are being harassed, notice that someone else is being + harassed, or have any other concerns, please contact MLH using the + reporting procedures defined below. +

+ +

+ MLH representatives can help participants contact campus security + or local law enforcement, provide escorts, or otherwise assist + those experiencing harassment to feel safe for the duration of the + event. We value your attendance. +

+ +

+ We expect participants to follow these rules at all hackathon + venues, hackathon-related social events, hackathon-supplied + transportation, and online interactions related to the event. +

+ + + Reporting Procedures + +

+ If you feel uncomfortable or think there may be a potential + violation of the code of conduct, please report it immediately + using one of the following methods. All reporters have the right + to remain anonymous. +

+

+ By sending information to the general reporting line, your report + will go to our incident response team members. +

+
    -
  • North America General Reporting - +1 409 202 6060, incidents@mlh.io
  • -
  • Canada General Reporting - +1 343 453 4532, incidents@mlh.io
  • -
  • Europe General Reporting - +44 800 808 5675, incidents@mlh.io
  • -
  • Asia-Pacific General Reporting - +91 000 80004 02492, incidents@mlh.io
  • -
  • India General Reporting - 000 80004 02492, incidents@mlh.io
  • +
  • + + North America General Reporting + {" "} + - +1 409 202 6060, incidents@mlh.io +
  • +
  • + Canada General Reporting - + +1 343 453 4532, incidents@mlh.io +
  • +
  • + Europe General Reporting - + +44 800 808 5675, incidents@mlh.io +
  • +
  • + + Asia-Pacific General Reporting + {" "} + - +91 000 80004 02492, incidents@mlh.io +
  • +
  • + India General Reporting - + 000 80004 02492, incidents@mlh.io +
- - Special Incidents -

If you are uncomfortable reporting your situation to one or more of these people or need to contact any of them directly in case of emergency, direct contact details are listed below.

- + + + Special Incidents + +

+ If you are uncomfortable reporting your situation to one or more + of these people or need to contact any of them directly in case of + emergency, direct contact details are listed below. +

+
    -
  • Mary Siebert - +1 (516) 362-1835, mary@mlh.io
  • -
  • Swift - +1 (347) 220-8667, swift@mlh.io
  • +
  • + Mary Siebert - +1 (516) + 362-1835, mary@mlh.io +
  • +
  • + Swift - +1 (347) 220-8667, + swift@mlh.io +
- -

MLH reserves the right to revise, make exceptions to, or otherwise amend these policies in whole or in part. If you have any questions regarding these policies, please contact MLH by e-mail at incidents@mlh.io.

- - This document was last updated on: February 14th 2025 + +

+ MLH reserves the right to revise, make exceptions to, or otherwise + amend these policies in whole or in part. If you have any + questions regarding these policies, please contact MLH by e-mail + at incidents@mlh.io. +

+ + + This document was last updated on: February 14th 2025 +
)} @@ -70,8 +174,8 @@ export default function CodeOfConductFooter() { aria-expanded={open} aria-controls="code-of-conduct-content" > - {open ? 'Hide Code of Conduct' : 'View Code of Conduct'} + {open ? "Hide Code of Conduct" : "View Code of Conduct"}
); -} \ No newline at end of file +} diff --git a/sites/hacklytics2027/app/globals.css b/sites/hacklytics2027/app/globals.css index a982ee06..45511348 100644 --- a/sites/hacklytics2027/app/globals.css +++ b/sites/hacklytics2027/app/globals.css @@ -1,6 +1,4 @@ -/* app/globals.css - Cybernetic Digital Bloom Theme */ - -/* This must be the first line. It imports all of Tailwind's styles. */ +/* app/globals.css — Digital Bloom Theme */ @import "tailwindcss"; @theme inline { @@ -12,89 +10,30 @@ } :root { - /* Cybernetic Theme Base */ - --color-bg: #030408; - --color-text: #f5f5f7; - --color-gridline: rgba(255, 255, 255, 0.05); /* very subtle if needed */ - - /* Digital Bloom Glowing Accent Colors */ - --bloom-pink: #ff007f; - --bloom-cyan: #00f3ff; - --bloom-lime: #ccff00; - --bloom-purple: #9d00ff; + --color-bg: #030305; + --color-text: #f0f0f2; + --color-gridline: rgba(255, 255, 255, 0.05); + + --bloom-pink: #ff2d78; + --bloom-cyan: #00e5ff; + --bloom-lime: #c8ff00; + --bloom-purple: #9b00ff; - /* Font Configurations */ - --font-family-mono: 'Roboto Mono', monospace; - --font-family-sans: 'Space Grotesk', sans-serif; + --font-family-mono: "Roboto Mono", monospace; + --font-family-sans: "Space Grotesk", sans-serif; - /* Layout */ - --navbar-height: 80px; + --navbar-height: 72px; } +/* ─── Base ─── */ +html { scroll-behavior: smooth; } + body { background-color: var(--color-bg); - background-image: - radial-gradient(circle at 15% 50%, rgba(255, 0, 127, 0.05), transparent 40%), - radial-gradient(circle at 85% 30%, rgba(0, 243, 255, 0.05), transparent 40%), - radial-gradient(circle at 50% 80%, rgba(157, 0, 255, 0.03), transparent 50%), - linear-gradient(180deg, #030408 0%, #0a0a0f 100%); - background-size: cover; - background-position: center; - background-attachment: fixed; color: var(--color-text); font-family: var(--font-family-sans); overflow-x: hidden; - position: relative; -} - -body::before { - content: ''; - position: fixed; - top: 0; left: 0; right: 0; bottom: 0; - background: radial-gradient(circle at center, transparent 0%, #030408 100%); - z-index: -1; - pointer-events: none; -} - -@layer utilities { - .bg-noise { - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); - opacity: 0.05; - pointer-events: none; - } - - /* Glassmorphism Panels */ - .glass-panel { - background: rgba(11, 12, 16, 0.4); - border: 1px solid rgba(255, 255, 255, 0.05); - box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37); - border-radius: 24px; - } - - .glass-navbar { - background: rgba(11, 12, 16, 0.7); - border-bottom: 1px solid rgba(255, 255, 255, 0.05); - border-radius: 24px; - } - - .glass-card { - background: rgba(255, 255, 255, 0.02); - border: 1px solid rgba(255, 255, 255, 0.05); - border-radius: 16px; - box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); - } - - /* Digital Bloom Glow Effects */ - .bloom-glow-pink { box-shadow: 0 0 20px rgba(255, 0, 127, 0.4), 0 0 40px rgba(255, 0, 127, 0.2); } - .bloom-glow-cyan { box-shadow: 0 0 20px rgba(0, 243, 255, 0.4), 0 0 40px rgba(0, 243, 255, 0.2); } - .bloom-glow-lime { box-shadow: 0 0 20px rgba(204, 255, 0, 0.4), 0 0 40px rgba(204, 255, 0, 0.2); } - .bloom-text-glow { text-shadow: 0 0 10px rgba(0, 243, 255, 0.8), 0 0 20px rgba(0, 243, 255, 0.4); } - - /* Hover effects */ - .hover-bloom-glow:hover { - border-color: var(--bloom-cyan); - box-shadow: 0 0 15px rgba(0, 243, 255, 0.4), inset 0 0 10px rgba(0, 243, 255, 0.2); - } + -webkit-font-smoothing: antialiased; } ::selection { @@ -102,210 +41,106 @@ body::before { color: var(--color-bg); } -/* ─── Flower Bloom Animations ─── */ -@keyframes bloomPetal { - 0% { - transform: scale(0) rotate(30deg); - opacity: 0; - } - 60% { - opacity: 1; - } - 100% { - transform: scale(1) rotate(0deg); - opacity: 1; - } -} - -@keyframes petalBreath { - 0% { - transform: scale(1); - filter: brightness(1); - } - 100% { - transform: scale(1.06); - filter: brightness(1.25); - } +/* ─── Typography ─── */ +.font-display { + font-family: var(--font-family-sans); + font-weight: 700; + letter-spacing: -0.04em; + line-height: 0.9; } -@keyframes stamenPulse { - 0% { - opacity: 0.3; - } - 100% { - opacity: 0.9; - } +/* ─── Glass Surfaces — used sparingly ─── */ +.glass { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.08); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); } -@keyframes bloomSpin { - from { transform: rotate(0deg); } - to { transform: rotate(360deg); } +/* Navbar glass — slightly more opaque */ +.glass-nav { + background: rgba(5, 5, 8, 0.85); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); } -/* ─── Floating Flower Animations ─── */ +/* ─── Glow utilities — used intentionally, not everywhere ─── */ +.glow-pink { box-shadow: 0 0 32px rgba(255, 45, 120, 0.35); } +.glow-cyan { box-shadow: 0 0 32px rgba(0, 229, 255, 0.35); } +.glow-lime { box-shadow: 0 0 32px rgba(200, 255, 0, 0.3); } +.glow-purple { box-shadow: 0 0 32px rgba(155, 0, 255, 0.3); } -/* Drift patterns — gentle floating movement across the screen */ -@keyframes flowerDrift1 { - 0% { - transform: translate(0, 0) rotate(0deg) scale(1); - opacity: var(--flower-opacity, 0.3); - } - 25% { - transform: translate(15px, -20px) rotate(15deg) scale(1.05); - } - 50% { - transform: translate(-10px, -35px) rotate(-10deg) scale(0.95); - opacity: calc(var(--flower-opacity, 0.3) * 1.3); - } - 75% { - transform: translate(20px, -15px) rotate(20deg) scale(1.02); - } - 100% { - transform: translate(0, 0) rotate(0deg) scale(1); - opacity: var(--flower-opacity, 0.3); - } +.text-glow-cyan { + text-shadow: 0 0 20px rgba(0, 229, 255, 0.5); } - -@keyframes flowerDrift2 { - 0% { - transform: translate(0, 0) rotate(0deg); - } - 20% { - transform: translate(-20px, 10px) rotate(-15deg); - } - 40% { - transform: translate(10px, 25px) rotate(10deg); - } - 60% { - transform: translate(25px, -5px) rotate(25deg); - } - 80% { - transform: translate(-15px, -20px) rotate(-5deg); - } - 100% { - transform: translate(0, 0) rotate(0deg); - } +.text-glow-pink { + text-shadow: 0 0 20px rgba(255, 45, 120, 0.5); } -@keyframes flowerDrift3 { - 0%, 100% { - transform: translate(0, 0) rotate(0deg) scale(1); - } - 33% { - transform: translate(30px, -25px) rotate(20deg) scale(1.08); - } - 66% { - transform: translate(-25px, 15px) rotate(-15deg) scale(0.92); - } +/* ─── Layout ─── */ +.section-wrap { + padding-left: 1.5rem; + padding-right: 1.5rem; } - -@keyframes flowerDrift4 { - 0%, 100% { - transform: translateY(0) rotate(0deg); - opacity: var(--flower-opacity, 0.3); - } - 50% { - transform: translateY(-40px) rotate(180deg); - opacity: calc(var(--flower-opacity, 0.3) * 1.5); - } +@media (min-width: 768px) { + .section-wrap { padding-left: 3rem; padding-right: 3rem; } } - -/* Sway patterns — gentle rocking like in a breeze */ -@keyframes flowerSway1 { - 0%, 100% { - transform: rotate(-5deg) translateX(0); - } - 25% { - transform: rotate(8deg) translateX(5px); - } - 50% { - transform: rotate(-3deg) translateX(-3px); - } - 75% { - transform: rotate(6deg) translateX(4px); - } +@media (min-width: 1280px) { + .section-wrap { padding-left: 5rem; padding-right: 5rem; } } -@keyframes flowerSway2 { - 0%, 100% { - transform: rotate(3deg) scale(1); - } - 33% { - transform: rotate(-8deg) scale(1.05); - } - 66% { - transform: rotate(5deg) scale(0.97); - } -} -/* Shimmer — subtle glow pulse for flowers */ -@keyframes flowerShimmer { - 0%, 100% { - filter: brightness(1) drop-shadow(0 0 2px currentColor); - } - 50% { - filter: brightness(1.3) drop-shadow(0 0 8px currentColor); - } -} -/* Animation classes */ -.flower-drift-1 { - animation: flowerDrift1 var(--flower-duration, 20s) ease-in-out infinite; -} -.flower-drift-2 { - animation: flowerDrift2 var(--flower-duration, 22s) ease-in-out infinite; +/* ─── Backward-compat shims for unrewritten components ─── */ +.glass-panel { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.08); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border-radius: 1rem; } -.flower-drift-3 { - animation: flowerDrift3 var(--flower-duration, 18s) ease-in-out infinite; -} -.flower-drift-4 { - animation: flowerDrift4 var(--flower-duration, 25s) ease-in-out infinite; +.glass-card { + background: rgba(255, 255, 255, 0.02); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 0.75rem; } -.flower-sway-1 { - animation: flowerSway1 var(--flower-duration, 8s) ease-in-out infinite; +.hover-bloom-glow:hover { + border-color: rgba(0, 229, 255, 0.4); + box-shadow: 0 0 20px rgba(0, 229, 255, 0.2); } -.flower-sway-2 { - animation: flowerSway2 var(--flower-duration, 10s) ease-in-out infinite; +.bloom-text-glow { + text-shadow: 0 0 20px rgba(0, 229, 255, 0.5); } -/* ─── Performance Optimizations ─── */ -/* Off-screen sections: skip layout/paint until scrolled into view */ +/* ─── Accent line — thin colored rule used for section punctuation ─── */ +.accent-line { + display: block; + width: 2.5rem; + height: 2px; + border-radius: 1px; +} + +/* ─── Section anchor offset for fixed navbar ─── */ .section-anchor { + scroll-margin-top: calc(var(--navbar-height) + 1.5rem); content-visibility: auto; contain-intrinsic-size: auto 600px; } -/* Containment for glass panels to isolate reflow cascades */ -.glass-panel, -.glass-card { - contain: layout style; +/* ─── Divider ─── */ +.bloom-divider { + width: 100%; + height: 1px; + background: linear-gradient( + to right, + transparent, + rgba(255, 255, 255, 0.08) 20%, + rgba(255, 255, 255, 0.08) 80%, + transparent + ); + margin: 0; } -/* GPU layer promotion for animated flower elements */ -.flower-drift-1, -.flower-drift-2, -.flower-drift-3, -.flower-drift-4, -.flower-sway-1, -.flower-sway-2 { - transform: translateZ(0); - backface-visibility: hidden; -} -/* Respect user preference for reduced motion — pauses all flower animations */ -@media (prefers-reduced-motion: reduce) { - .flower-drift-1, - .flower-drift-2, - .flower-drift-3, - .flower-drift-4, - .flower-sway-1, - .flower-sway-2 { - animation: none !important; - } - - /* Also reduce the hero bloom spin */ - [style*="bloomSpin"] { - animation: none !important; - } -} \ No newline at end of file diff --git a/sites/hacklytics2027/app/layout.tsx b/sites/hacklytics2027/app/layout.tsx index b70f0088..025ee18b 100644 --- a/sites/hacklytics2027/app/layout.tsx +++ b/sites/hacklytics2027/app/layout.tsx @@ -1,54 +1,117 @@ -// app/layout.tsx - Digital Bloom x Brutalist Theme -import './globals.css' -import type { Metadata } from 'next' -import { Roboto_Mono, Space_Grotesk } from 'next/font/google' -import Navbar from '../components/Navbar' -import FloatingFlowers from '../components/FloatingFlowers' -import ServiceWorkerRegistrar from '../components/ServiceWorkerRegistrar' +import "./globals.css"; +import type { Metadata, Viewport } from "next"; +import { Roboto_Mono, Space_Grotesk } from "next/font/google"; +import Navbar from "../components/Navbar"; +import ServiceWorkerRegistrar from "../components/ServiceWorkerRegistrar"; +import Footer from "../components/Footer"; -// Techy, Brutalist fonts const robotoMono = Roboto_Mono({ - subsets: ['latin'], - weight: ['400', '700'], - variable: '--font-mono', -}) + subsets: ["latin"], + weight: ["400", "700"], + variable: "--font-mono", +}); const spaceGrotesk = Space_Grotesk({ - subsets: ['latin'], - weight: ['400', '700', '500'], - variable: '--font-sans', -}) + subsets: ["latin"], + weight: ["400", "500", "700"], + variable: "--font-sans", +}); + +export const viewport: Viewport = { + themeColor: "#050508", +}; export const metadata: Metadata = { - title: "Hacklytics 2027: Digital Bloom", - description: "Data Science @ GT - The premier data science hackathon in the southeast. Register now for Hacklytics 2027.", - authors: [{ name: "DSGT" }], + title: "Hacklytics 2027: Digital Bloom | Premier Data Science Hackathon", + description: + "Join Data Science @ GT for Hacklytics 2027, the premier data science and AI hackathon in the Southeast. 36 hours of coding, prizes, and networking in Atlanta.", + keywords: ["hackathon", "data science", "machine learning", "AI", "Georgia Tech", "Atlanta", "coding", "competition"], + authors: [{ name: "Data Science @ GT" }], openGraph: { title: "Hacklytics 2027: Digital Bloom", - description: "The premier data science hackathon. 36 hours. Join us in Atlanta.", + description: "The premier data science hackathon. 36 hours. Join 1,000+ hackers in Atlanta.", + url: "https://hacklytics.io", + siteName: "Hacklytics", + images: [ + { + url: "/og-image.jpg", + width: 1200, + height: 630, + alt: "Hacklytics 2027 Digital Bloom", + }, + ], type: "website", locale: "en_US", }, - icons: { - icon: "/favicon.ico", - } -} + twitter: { + card: "summary_large_image", + title: "Hacklytics 2027: Digital Bloom", + description: "The premier data science hackathon at Georgia Tech.", + images: ["/og-image.jpg"], + creator: "@datasciencegt", + }, + icons: { icon: "/favicon.ico" }, + metadataBase: new URL("https://hacklytics.io"), +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + // JSON-LD structured data for SEO Event Schema + const jsonLd = { + "@context": "https://schema.org", + "@type": "Event", + name: "Hacklytics 2027: Digital Bloom", + startDate: "2027-02-26T17:00:00-05:00", + endDate: "2027-02-28T16:00:00-05:00", + eventAttendanceMode: "https://schema.org/OfflineEventAttendanceMode", + eventStatus: "https://schema.org/EventScheduled", + location: { + "@type": "Place", + name: "Klaus Advanced Computing Building", + address: { + "@type": "PostalAddress", + streetAddress: "266 Ferst Dr NW", + addressLocality: "Atlanta", + postalCode: "30332", + addressRegion: "GA", + addressCountry: "US" + } + }, + image: [ + "https://hacklytics.io/og-image.jpg" + ], + description: "Data Science @ GT — The premier data science hackathon in the Southeast. 36 hours of coding, data science, and AI.", + offers: { + "@type": "Offer", + url: "https://form.typeform.com/to/GvqBCdAe", + price: "0", + priceCurrency: "USD", + availability: "https://schema.org/InStock", + validFrom: "2026-08-01T00:00:00-04:00" + }, + organizer: { + "@type": "Organization", + name: "Data Science @ GT", + url: "https://datasciencegt.org" + } + }; -export default function RootLayout({ - children, -}: { - children: React.ReactNode -}) { return ( - + + - - - - - - - - + + + + + + + +