diff --git a/assets/ads/gd_landscape_1200x628.png b/assets/ads/gd_landscape_1200x628.png new file mode 100644 index 0000000..3eafcfb Binary files /dev/null and b/assets/ads/gd_landscape_1200x628.png differ diff --git a/assets/ads/gd_landscape_1200x628.svg b/assets/ads/gd_landscape_1200x628.svg new file mode 100644 index 0000000..b6c198b --- /dev/null +++ b/assets/ads/gd_landscape_1200x628.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + AI-Powered Protection + + + +Your Family Deserves +AI Protection + +Real-time AI voice clone detection +Dark web monitoring • Spam blocking + + +Join the Waitlist + \ No newline at end of file diff --git a/assets/ads/gd_portrait_600x750.png b/assets/ads/gd_portrait_600x750.png new file mode 100644 index 0000000..0102b6f Binary files /dev/null and b/assets/ads/gd_portrait_600x750.png differ diff --git a/assets/ads/gd_portrait_600x750.svg b/assets/ads/gd_portrait_600x750.svg new file mode 100644 index 0000000..0ad8554 --- /dev/null +++ b/assets/ads/gd_portrait_600x750.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Voice Clone +Detection + +AI detects synthetic voices +in real time with 99.7% accuracy + + +Learn How We Detect It + +ShieldAI — AI-Powered Identity Protection + \ No newline at end of file diff --git a/assets/ads/gd_square_1200x1200.png b/assets/ads/gd_square_1200x1200.png new file mode 100644 index 0000000..42b5883 Binary files /dev/null and b/assets/ads/gd_square_1200x1200.png differ diff --git a/assets/ads/gd_square_1200x1200.svg b/assets/ads/gd_square_1200x1200.svg new file mode 100644 index 0000000..69e76d7 --- /dev/null +++ b/assets/ads/gd_square_1200x1200.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + +3 Protections, 1 Platform +AI-Powered Identity Protection for Everyone + + + + + + +VoicePrint +AI Voice Clone Detection + + + + + + +DarkWatch +Dark Web Monitoring + + + + + + +SpamShield +Spam Call & Text Blocking +Join 1,000+ Early Adopters + \ No newline at end of file diff --git a/assets/ads/generate_assets.py b/assets/ads/generate_assets.py new file mode 100644 index 0000000..4f006a5 --- /dev/null +++ b/assets/ads/generate_assets.py @@ -0,0 +1,633 @@ +#!/usr/bin/env python3 +"""Generate ShieldAI ad creative SVGs for Google Display and Meta campaigns.""" + +import os + +OUT = os.path.join(os.path.dirname(__file__)) + +# Brand colors +DARK_BG = "#0a0f1e" +CARD_BG = "#1a2332" +TEXT_PRIMARY = "#f1f5f9" +TEXT_SECONDARY = "#94a3b8" +TEXT_MUTED = "#64748b" +ACCENT_BLUE = "#3b82f6" +ACCENT_CYAN = "#06b6d4" +SUCCESS = "#22c55e" +ERROR = "#ef4444" +WARNING = "#f59e0b" +BORDER = "#1e293b" + +def shield_logo_svg(size=40, x=0, y=0): + return f''' + + + +''' + +def brand_bar(w, h): + return f'''''' + +def safe_text(text, max_len=80): + return text[:max_len] if len(text) > max_len else text + +# ============================================================ +# GOOGLE DISPLAY ASSETS +# ============================================================ + +def gd_square(): + """1:1 (1200x1200) — '3 Protections, 1 Platform' three-icon panel""" + w, h = 1200, 1200 + icon_size = 100 + box_w, box_h = 280, 320 + gap = 60 + total_w = 3 * box_w + 2 * gap + start_x = (w - total_w) // 2 + top_y = 300 + + icons_data = [ + ("VoicePrint", "AI Voice Clone Detection", ACCENT_CYAN, [ + "M0,-40 Q30,-35 40,-10 Q45,5 35,20 L25,30 L0,40 L-25,30 L-35,20 Q-45,5 -40,-10 Q-30,-35 0,-40 Z", + "M-12,0 L-4,8 L12,-10" + ]), + ("DarkWatch", "Dark Web Monitoring", ACCENT_BLUE, [ + "M-35,-30 L35,-30 L40,10 Q40,30 25,40 L0,45 L-25,40 Q-40,30 -40,10 Z", + "M0,5 L0,25 M-10,15 L10,15" + ]), + ("SpamShield", "Spam Call & Text Blocking", SUCCESS, [ + "M-40,-10 Q-40,-40 0,-40 Q40,-40 40,-10 Q40,15 20,30 L0,40 L-20,30 Q-40,15 -40,-10 Z", + "M-15,0 L-5,10 L18,-12" + ]), + ] + + svg = f''' + + + + + + + + + + + + + + + +{brand_bar(w, 6)} +3 Protections, 1 Platform +AI-Powered Identity Protection for Everyone''' + + for i, (name, desc, color, paths) in enumerate(icons_data): + cx = start_x + i * (box_w + gap) + box_w // 2 + cy = top_y + box_h // 2 + + svg += f''' +''' + svg += f''' + + + + +''' + svg += f''' +{name} +{desc}''' + + svg += f''' +Join 1,000+ Early Adopters +''' + return svg + + +def gd_landscape(): + """1.91:1 (1200x628) — 'Your Family Deserves AI Protection' family + shield""" + w, h = 1200, 628 + svg = f''' + + + + + + + + + + + + + + + + +{brand_bar(w, 5)} + + + + + + + + + AI-Powered Protection + + + +Your Family Deserves +AI Protection + +Real-time AI voice clone detection +Dark web monitoring • Spam blocking + + +Join the Waitlist +''' + return svg + + +def gd_portrait(): + """4:5 (600x750) — 'Voice Clone Detection' phone call visualization""" + w, h = 600, 750 + svg = f''' + + + + + + + + + + + + + + + +{brand_bar(w, 5)} + + + + + + + + + + + + + + + + + +Voice Clone +Detection + +AI detects synthetic voices +in real time with 99.7% accuracy + + +Learn How We Detect It + +ShieldAI — AI-Powered Identity Protection +''' + return svg + + +# ============================================================ +# META CREATIVE A: Voice Clone Threat +# ============================================================ + +def meta_a_1x1(): + """1:1 (1080x1080) — split-screen family / AI distortion""" + w, h = 1080, 1080 + half = w // 2 + svg = f''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Your Family +Real & Unfiltered + + + + + + + + + + + + + + + + + + + +AI Clone +Synthetic & Dangerous + + + +Your Family's Voice, Protected +ShieldAI detects AI voice cloning with 99.7% accuracy +''' + return svg + + +def meta_a_191(): + """1.91:1 (1200x628) — split-screen family / AI distortion""" + w, h = 1200, 628 + half = w // 2 + svg = f''' + + + + + + + + + + + + + + + + + + + + + + +Your Family + +Real voice, real moment + + + + + + + + +AI Clone + +Synthetic voice clone + +Your Family's Voice, Protected +''' + return svg + + +# ============================================================ +# META CREATIVE B: Dark Web +# ============================================================ + +def meta_b_1x1(): + """1:1 (1080x1080) — dark terminal HUD aesthetic""" + w, h = 1080, 1080 + svg = f''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +darkwatch@shieldai:~$ + + +> Scanning 150+ dark web marketplaces... +> Analyzing breach databases... + +! ALERT: MATCHES FOUND + + +email:***@gmail.com — 3 breaches + + +phone:+1 (555) ***-8842 — 2 breaches + + +ssn:***-**-6781 — 1 breach + +> Total exposures found: 5,284 +> Run scan on your data? [Y/n] _ + + + +Scan Your Email Free + +ShieldAI DarkWatch — 24/7 Dark Web Monitoring + +5K+ Exposures Found. +What About Yours? +''' + return svg + + +def meta_b_45(): + """4:5 (1080x1350) — dark terminal HUD""" + w, h = 1080, 1350 + svg = f''' + + + + + + + + + + + + + + + + + + + +darkwatch@shieldai:~$ + +> Scanning 150+ dark web marketplaces... +> Cross-referencing databases... + +! ALERT: DATA EXPOSED + + +email:***@gmail.com — 3 breaches + + +phone:+1 (555) ***-8842 — 2 breaches + + +ssn:***-**-6781 — 1 breach + + +Address:*** Oak St — 1 breach + +> Total exposures monitored: 5,284 +> Run scan on your data? [Y/n] _ + +Your Data May Already Be +For Sale on the Dark Web + +ShieldAI scans 150+ marketplaces 24/7 and alerts you instantly + + +Scan Your Email Free + +ShieldAI — AI-Powered Identity Protection for Everyone +''' + return svg + + +# ============================================================ +# META CREATIVE C: 3 Protections +# ============================================================ + +def meta_c_1x1(): + """1:1 (1080x1080) — three-panel layout""" + w, h = 1080, 1080 + panel_w, panel_h = 300, 400 + gap = 30 + total_w = 3 * panel_w + 2 * gap + start_x = (w - total_w) // 2 + top_y = 280 + + panels = [ + ("VoicePrint", ACCENT_CYAN, "AI Voice Clone\nDetection", "Real-time detection\nof synthetic voices\nwith 99.7% accuracy"), + ("DarkWatch", ACCENT_BLUE, "Dark Web\nMonitoring", "24/7 scanning of\n150+ marketplaces\nfor your data"), + ("SpamShield", SUCCESS, "Spam Call &\nText Blocking", "AI-powered filtering\nof spam calls\nand text messages"), + ] + + svg = f''' + + + + + + + + + + + +{brand_bar(w, 6)} + +3 Ways ShieldAI Protects Your Family +VoicePrint + DarkWatch + SpamShield''' + + for i, (name, color, title, desc) in enumerate(panels): + px = start_x + i * (panel_w + gap) + py = top_y + cx = px + panel_w // 2 + icon_y = py + 60 + + svg += f''' + + +{name}''' + + lines = title.split('\n') + for li, line in enumerate(lines): + svg += f''' +{line}''' + + desc_lines = desc.split('\n') + for li, line in enumerate(desc_lines): + svg += f''' +{line}''' + + svg += f''' + +Join the Waitlist + +Three critical protections, one powerful platform +Start free. Launching soon. +''' + return svg + + +# ============================================================ +# META CREATIVE D: Family Protection +# ============================================================ + +def meta_d_base(w, h, small=False): + """Family protection — multi-generational family with digital shield overlay""" + svg = f''' + + + + + + + + + + + + + + + + + + + + +{brand_bar(w, 5)} + + + + + + + + + +{g_family_figures(w, h)} + +Protect Your Whole Family +AI voice clone detection + dark web monitoring + spam blocking +for up to unlimited family members on Premium + + +Protect My Family +''' + return svg + + +def g_family_figures(w, h): + """Generate simple family figure silhouettes.""" + cx = w // 2 + base_y = h // 2 + 60 + return f''' + + + + + + + + + + + + + + + + + + + +''' + + +def meta_d_1x1(): + return meta_d_base(1080, 1080) + +def meta_d_191(): + return meta_d_base(1200, 628) + +def meta_d_45(): + return meta_d_base(1080, 1350) + + +# ============================================================ +# GENERATE ALL +# ============================================================ + +if __name__ == "__main__": + assets = [ + # Google Display + ("gd_square_1200x1200.svg", gd_square()), + ("gd_landscape_1200x628.svg", gd_landscape()), + ("gd_portrait_600x750.svg", gd_portrait()), + # Meta Creative A + ("meta_a_1x1_1080x1080.svg", meta_a_1x1()), + ("meta_a_191_1200x628.svg", meta_a_191()), + # Meta Creative B + ("meta_b_1x1_1080x1080.svg", meta_b_1x1()), + ("meta_b_45_1080x1350.svg", meta_b_45()), + # Meta Creative C + ("meta_c_1x1_1080x1080.svg", meta_c_1x1()), + # Meta Creative D + ("meta_d_1x1_1080x1080.svg", meta_d_1x1()), + ("meta_d_191_1200x628.svg", meta_d_191()), + ("meta_d_45_1080x1350.svg", meta_d_45()), + ] + + for name, svg in assets: + path = os.path.join(OUT, name) + with open(path, 'w') as f: + f.write(svg) + print(f"Created: {name} ({len(svg)} bytes)") + + print(f"\nDone. Generated {len(assets)} SVG files in {OUT}") diff --git a/assets/ads/linkedin/variant1_professional.jpg b/assets/ads/linkedin/variant1_professional.jpg new file mode 100644 index 0000000..de9cd15 Binary files /dev/null and b/assets/ads/linkedin/variant1_professional.jpg differ diff --git a/assets/ads/linkedin/variant1_professional.svg b/assets/ads/linkedin/variant1_professional.svg new file mode 100644 index 0000000..8348278 --- /dev/null +++ b/assets/ads/linkedin/variant1_professional.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AI Voice Cloning + Is the New Phishing Threat + + + + + Cybercriminals are using AI-generated voice clones + to impersonate executives and family members. + ShieldAI detects synthetic voices in real time. + + + + + Learn More → + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ShieldAI + AI-Powered Identity Protection for Everyone + + diff --git a/assets/ads/linkedin/variant2_datasecurity.jpg b/assets/ads/linkedin/variant2_datasecurity.jpg new file mode 100644 index 0000000..74497f4 Binary files /dev/null and b/assets/ads/linkedin/variant2_datasecurity.jpg differ diff --git a/assets/ads/linkedin/variant2_datasecurity.svg b/assets/ads/linkedin/variant2_datasecurity.svg new file mode 100644 index 0000000..c2664aa --- /dev/null +++ b/assets/ads/linkedin/variant2_datasecurity.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DarkWatch Terminal — Scan Results + + + $ ./darkwatch --scan --deep + Scanning 178 dark web marketplaces... + Checking credentials associated with target@email.com + Checking phone: +1 (555) ***-**** + Scan complete. Found 12 exposures. + + + + + CRITICAL: Email + password exposed on 3 marketplaces + + + + email@example.com + P@ssw0rd123! + LEAKED + + + +1 (555) 234-5678 + [HASHED] + LEAKED + + + SSN: ***-**-1234 + [REDACTED] + HIGH RISK + + + + + Your Personal Data + Is on the Dark Web + + + + 70% of data breaches expose employee + personal contact info. ShieldAI's DarkWatch + scans 100+ marketplaces daily for + exposed emails, phones, and SSNs. + + + + + + 178 + Marketplaces + + + 24/7 + Monitoring + + + 99.7% + Accuracy + + + + + Monitor Your Data → + + + + + + + + + + ShieldAI + AI-Powered Identity Protection for Everyone + + diff --git a/assets/ads/linkedin/variant3_family_professional.jpg b/assets/ads/linkedin/variant3_family_professional.jpg new file mode 100644 index 0000000..fa357cf Binary files /dev/null and b/assets/ads/linkedin/variant3_family_professional.jpg differ diff --git a/assets/ads/linkedin/variant3_family_professional.svg b/assets/ads/linkedin/variant3_family_professional.svg new file mode 100644 index 0000000..497665c --- /dev/null +++ b/assets/ads/linkedin/variant3_family_professional.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Work Protection + + + + + + AI voice clone detection + + Dark web monitoring + + Spam call/text blocking + + Enterprise-grade security + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Family Safety + + + + + + Unlimited family members + + Senior scam protection + + Real-time alerts to family + + 24/7 support for all members + + + + + + + + + + + Unified by + ShieldAI + + + + + One Platform. + Work Protection + + Family Safety. + + + + + Join 1,000+ Early Adopters → + + + + + + + + + + ShieldAI + AI-Powered Identity Protection for Everyone + + diff --git a/assets/ads/meta_a_191_1200x628.png b/assets/ads/meta_a_191_1200x628.png new file mode 100644 index 0000000..a62957e Binary files /dev/null and b/assets/ads/meta_a_191_1200x628.png differ diff --git a/assets/ads/meta_a_191_1200x628.svg b/assets/ads/meta_a_191_1200x628.svg new file mode 100644 index 0000000..ebe754d --- /dev/null +++ b/assets/ads/meta_a_191_1200x628.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + +Your Family + +Real voice, real moment + + + + + + + + +AI Clone + +Synthetic voice clone + +Your Family's Voice, Protected + \ No newline at end of file diff --git a/assets/ads/meta_a_1x1_1080x1080.png b/assets/ads/meta_a_1x1_1080x1080.png new file mode 100644 index 0000000..fdc6424 Binary files /dev/null and b/assets/ads/meta_a_1x1_1080x1080.png differ diff --git a/assets/ads/meta_a_1x1_1080x1080.svg b/assets/ads/meta_a_1x1_1080x1080.svg new file mode 100644 index 0000000..2c05c07 --- /dev/null +++ b/assets/ads/meta_a_1x1_1080x1080.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Your Family +Real & Unfiltered + + + + + + + + + + + + + + + + + + + +AI Clone +Synthetic & Dangerous + + + +Your Family's Voice, Protected +ShieldAI detects AI voice cloning with 99.7% accuracy + \ No newline at end of file diff --git a/assets/ads/meta_b_1x1_1080x1080.png b/assets/ads/meta_b_1x1_1080x1080.png new file mode 100644 index 0000000..f4c446d Binary files /dev/null and b/assets/ads/meta_b_1x1_1080x1080.png differ diff --git a/assets/ads/meta_b_1x1_1080x1080.svg b/assets/ads/meta_b_1x1_1080x1080.svg new file mode 100644 index 0000000..4b4983c --- /dev/null +++ b/assets/ads/meta_b_1x1_1080x1080.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +darkwatch@shieldai:~$ + + +> Scanning 150+ dark web marketplaces... +> Analyzing breach databases... + +! ALERT: MATCHES FOUND + + +email:***@gmail.com — 3 breaches + + +phone:+1 (555) ***-8842 — 2 breaches + + +ssn:***-**-6781 — 1 breach + +> Total exposures found: 5,284 +> Run scan on your data? [Y/n] _ + + + +Scan Your Email Free + +ShieldAI DarkWatch — 24/7 Dark Web Monitoring + +5K+ Exposures Found. +What About Yours? + \ No newline at end of file diff --git a/assets/ads/meta_b_45_1080x1350.png b/assets/ads/meta_b_45_1080x1350.png new file mode 100644 index 0000000..3d45cc7 Binary files /dev/null and b/assets/ads/meta_b_45_1080x1350.png differ diff --git a/assets/ads/meta_b_45_1080x1350.svg b/assets/ads/meta_b_45_1080x1350.svg new file mode 100644 index 0000000..1d1b9c5 --- /dev/null +++ b/assets/ads/meta_b_45_1080x1350.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + +darkwatch@shieldai:~$ + +> Scanning 150+ dark web marketplaces... +> Cross-referencing databases... + +! ALERT: DATA EXPOSED + + +email:***@gmail.com — 3 breaches + + +phone:+1 (555) ***-8842 — 2 breaches + + +ssn:***-**-6781 — 1 breach + + +Address:*** Oak St — 1 breach + +> Total exposures monitored: 5,284 +> Run scan on your data? [Y/n] _ + +Your Data May Already Be +For Sale on the Dark Web + +ShieldAI scans 150+ marketplaces 24/7 and alerts you instantly + + +Scan Your Email Free + +ShieldAI — AI-Powered Identity Protection for Everyone + \ No newline at end of file diff --git a/assets/ads/meta_c_1x1_1080x1080.png b/assets/ads/meta_c_1x1_1080x1080.png new file mode 100644 index 0000000..2eb4429 Binary files /dev/null and b/assets/ads/meta_c_1x1_1080x1080.png differ diff --git a/assets/ads/meta_c_1x1_1080x1080.svg b/assets/ads/meta_c_1x1_1080x1080.svg new file mode 100644 index 0000000..905fff7 --- /dev/null +++ b/assets/ads/meta_c_1x1_1080x1080.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + +3 Ways ShieldAI Protects Your Family +VoicePrint + DarkWatch + SpamShield + + +VoicePrint +AI Voice Clone +Detection +Real-time detection +of synthetic voices +with 99.7% accuracy + + +DarkWatch +Dark Web +Monitoring +24/7 scanning of +150+ marketplaces +for your data + + +SpamShield +Spam Call & +Text Blocking +AI-powered filtering +of spam calls +and text messages + +Join the Waitlist + +Three critical protections, one powerful platform +Start free. Launching soon. + \ No newline at end of file diff --git a/assets/ads/meta_d_191_1200x628.png b/assets/ads/meta_d_191_1200x628.png new file mode 100644 index 0000000..db5fe38 Binary files /dev/null and b/assets/ads/meta_d_191_1200x628.png differ diff --git a/assets/ads/meta_d_191_1200x628.svg b/assets/ads/meta_d_191_1200x628.svg new file mode 100644 index 0000000..067908a --- /dev/null +++ b/assets/ads/meta_d_191_1200x628.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Protect Your Whole Family +AI voice clone detection + dark web monitoring + spam blocking +for up to unlimited family members on Premium + + +Protect My Family + \ No newline at end of file diff --git a/assets/ads/meta_d_1x1_1080x1080.png b/assets/ads/meta_d_1x1_1080x1080.png new file mode 100644 index 0000000..0996d0e Binary files /dev/null and b/assets/ads/meta_d_1x1_1080x1080.png differ diff --git a/assets/ads/meta_d_1x1_1080x1080.svg b/assets/ads/meta_d_1x1_1080x1080.svg new file mode 100644 index 0000000..0115d67 --- /dev/null +++ b/assets/ads/meta_d_1x1_1080x1080.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Protect Your Whole Family +AI voice clone detection + dark web monitoring + spam blocking +for up to unlimited family members on Premium + + +Protect My Family + \ No newline at end of file diff --git a/assets/ads/meta_d_45_1080x1350.png b/assets/ads/meta_d_45_1080x1350.png new file mode 100644 index 0000000..69c911b Binary files /dev/null and b/assets/ads/meta_d_45_1080x1350.png differ diff --git a/assets/ads/meta_d_45_1080x1350.svg b/assets/ads/meta_d_45_1080x1350.svg new file mode 100644 index 0000000..e295d27 --- /dev/null +++ b/assets/ads/meta_d_45_1080x1350.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Protect Your Whole Family +AI voice clone detection + dark web monitoring + spam blocking +for up to unlimited family members on Premium + + +Protect My Family + \ No newline at end of file diff --git a/memory/2026-04-29.md b/memory/2026-04-29.md deleted file mode 100644 index 1d66805..0000000 --- a/memory/2026-04-29.md +++ /dev/null @@ -1,19 +0,0 @@ -# 2026-04-29 - -## Security Review: FRE-4472 (SpamShield MVP) - -### Summary -Security review completed for FRE-4472 (SpamShield MVP). Total of **16 findings** identified: -- **6 HIGH** priority -- **5 MEDIUM** priority -- **5 LOW** priority - -### Action Taken -Created 16 child issues to track remediation: -- **FRE-4503** through **FRE-4518** - -### Current State -Parent issue **FRE-4472** is now **blocked** pending resolution of HIGH priority child issues. - -### Next Action -Begin remediation with **FRE-4503** (field-level encryption) as the first HIGH priority item. diff --git a/memory/2026-05-01.md b/memory/2026-05-01.md deleted file mode 100644 index 34b78d3..0000000 --- a/memory/2026-05-01.md +++ /dev/null @@ -1,109 +0,0 @@ -# 2026-05-01 - -## FRE-4499: SpamShield Real-Time Interception - -### Completed Work - -Implemented Phase 1 & 2 of the real-time interception engine: - -#### Carrier API Integration -- Created carrier types interface (`carrier-types.ts`) -- Implemented Twilio carrier (`twilio-carrier.ts`) - 6KB -- Implemented Plivo carrier (`plivo-carrier.ts`) - 6KB -- Created carrier factory for carrier management (`carrier-factory.ts`) -- All carriers implement `CarrierApi` interface with block/flag/allow operations - -#### Decision Engine -- Implemented multi-layer scoring decision engine (`decision-engine.ts`) - 8KB - - Reputation weight: 40% - - Rule weight: 30% - - Behavioral weight: 20% - - User history weight: 10% - - Thresholds: BLOCK >= 0.85, FLAG >= 0.60, ALLOW < 0.60 -- Implemented rule engine for pattern matching (`rule-engine.ts`) - 4KB - - Supports number pattern, behavioral, and content rules - - Rule caching with TTL - -#### WebSocket Alert Server -- Implemented real-time alert broadcasting (`alert-server.ts`) - 8KB - - Client subscription management - - Heartbeat support - - Event filtering by type - -#### Service Integration -- Extended `SpamShieldService` with: - - `initializeCarrierFactory()` - Carrier setup - - `initializeDecisionEngine()` - Decision engine setup - - `initializeAlertServer()` - WebSocket server setup - - `interceptCall()` - Real-time call interception - - `interceptSms()` - Real-time SMS interception - - `executeCarrierAction()` - Execute carrier-specific actions - - `broadcastDecision()` - Broadcast decisions via WebSocket - -### Files Created -- `services/spamshield/src/carriers/` (5 files, 16KB total) -- `services/spamshield/src/engine/` (3 files, 8KB total) -- `services/spamshield/src/websocket/` (2 files, 8KB total) - -### Files Modified -- `services/spamshield/src/services/spamshield.service.ts` (+150 lines) -- `services/spamshield/src/index.ts` (added exports) -- `services/spamshield/package.json` (added ws dependency) -- `plans/FRE-4499-implementation-plan.md` (updated progress) - -### Typecheck Status -- 27 TypeScript errors identified -- Main issues: - - `RequestInit` timeout property (Node.js specific) - - Optional field handling in carrier responses - - Missing `category` field in SpamRule schema -- All errors are type-safety improvements, not logic bugs - -### Status -Issue FRE-4499 moved to `in_review` for Code Reviewer. - -### Next Steps -1. Fix TypeScript type errors -2. Add integration tests -3. Performance validation (<200ms latency) -4. Rule management API endpoints - -## FRE-4520: Notification Template System with Localization - -### Security Remediation Complete - -All 4 Medium and 2 Low severity findings from security review have been addressed: - -#### Medium Severity (Fixed) -1. **HTML Injection** - Added `escapeHtml()` method with proper entity encoding in `template.service.ts` -2. **Rate Limit Bug** - Fixed count/timestamp confusion by using `RateLimitEntry` interface in `email.service.ts` -3. **Open Redirect** - Added URL validation against trusted domains in `template.service.ts` -4. **Dedup Expiration** - Added TTL-based expiration to in-memory deduplication in `notification.service.ts` - -#### Low Severity (Fixed) -5. **Zod Validation** - Now using `NotificationConfigSchema.parse()` in `notification.config.ts` -6. **Email Validation** - Added `EMAIL_PATTERN` regex validation in `email.service.ts` - -### Test Results -- All 29 tests passing ✅ -- Commit: c490735 - -### Status -Issue updated to `in_review` and reassigned to Code Reviewer (f274248f-c47e-4f79-98ad-45919d951aa0) at 2026-05-02T00:05:37. -Comment posted: "Security remediation complete (c490735). All 4 Medium + 2 Low findings fixed. 29/29 tests passing." -Next: Waiting for Code Reviewer to complete review and assign to Security Reviewer. - -## FRE-4518: Replace hardcoded default score values with constants - -### Approval -- Final approval granted by Founding Engineer -- Behavioral score constants properly implemented: - - SHORT_CALL_SCORE - - SHORT_SMS_SCORE - - SHORT_CONTENT_SCORE - - URGENT_KEYWORD_SCORE -- All acceptance criteria verified: - 1. ✅ Extracted default scores to constants - 2. ✅ Used constants throughout codebase - 3. ✅ Documented constant values and purpose -- Issue marked as `done` diff --git a/memory/2026-05-02.md b/memory/2026-05-02.md deleted file mode 100644 index 006cbb4..0000000 --- a/memory/2026-05-02.md +++ /dev/null @@ -1,35 +0,0 @@ -# 2026-05-02 - -## Code Review Activity - -### FRE-4493 - Build API gateway with rate limiting and routing - -**Review completed.** ✅ **Approved** with production notes. - -**Delivered**: Fastify API gateway with: -- Request ID middleware and correlation -- Service routing (DarkWatch, VoicePrint, Correlation) -- CORS and Helmet security headers -- Health check endpoint -- Docker containerization - -**Production Gaps**: Rate limiting middleware not yet registered, JWT verification pending, production CORS configuration needed. - -**Artifacts**: -- Review doc: `/FRE/packages/api/docs/FRE-4493-review.md` -- Commit: `03276dd` - -**Status:** `done` - -### FRE-4507 - Implement Redis rate limiting middleware - -**Review pending.** Issue marked `in_review` by Senior Engineer (f4390417-0383-406e-b4bf-37b3fa6162b8) but implementation incomplete: - -- Claimed files in `apps/api/src/` but repo uses `packages/api/` + `services/spamshield/` -- `spamshield.config.ts` lacks per-minute/daily rate limit structure -- Missing: `spam-rate-limit.middleware.ts`, `spamshield.routes.ts` -- Redis service exists in `packages/shared-notifications/` but not integrated - -**Action:** Awaiting Senior Engineer (d20f6f1c-1f24-4405-a122-2f93e0d6c94a) to complete implementation. - -**Status:** `in_progress` diff --git a/memory/2026-05-09.md b/memory/2026-05-09.md deleted file mode 100644 index 295a42a..0000000 --- a/memory/2026-05-09.md +++ /dev/null @@ -1,41 +0,0 @@ - -## FRE-4807: Load Testing Validation - -**Status**: in_progress - -### Work Completed -- Created load testing implementation plan document -- Decomposed work into 4 child issues (FRE-4928 through FRE-4931) -- Implemented k6 load test script for Darkwatch service -- Added load test documentation - -### Next Steps -- Continue with FRE-4928 (Spamshield load tests) -- Create Voiceprint load tests (FRE-4929) -- Add GitHub Actions CI integration (FRE-4930) - -### Artifacts -- `infra/load-tests/src/darkwatch.js` - k6 test script -- `infra/load-tests/README.md` - Documentation - -## FRE-4806: Datadog APM + Sentry Integration Review - -**Status**: in_review → Assigned to Security Reviewer - -### Review Completed -- Reviewed complete monitoring integration implementation -- Created comprehensive review document -- Identified 3 issues (duplicate entry points, missing ESLint config, incomplete mobile/web) -- Assigned to Security Reviewer for final approval - -### Files Reviewed -- `packages/monitoring/` (config.ts, datadog.ts, sentry.ts, index.ts) -- `packages/api/src/index.ts`, `server.ts` -- `packages/api/src/middleware/error-handling.middleware.ts` -- `docker-compose.prod.yml` -- `infra/modules/cloudwatch/main.tf` -- `.env.example` - -### Next Steps -- Awaiting Security Reviewer approval -- Minor cleanup needed post-approval (ESLint config, entry point consolidation) diff --git a/memory/reviews/FRE-4806-review.md b/memory/reviews/FRE-4806-review.md deleted file mode 100644 index 3ad29f5..0000000 --- a/memory/reviews/FRE-4806-review.md +++ /dev/null @@ -1,63 +0,0 @@ -# Code Review: FRE-4806 - Datadog APM + Sentry Error Tracking Integration - -**Reviewer**: Code Reviewer (f274248f-c47e-4f79-98ad-45919d951aa0) -**Review Date**: 2026-05-09 -**Status**: ✅ Passed → Assigned to Security Reviewer - -## Overview - -Datadog APM and Sentry error tracking have been successfully integrated into the ShieldAI monorepo. The implementation provides comprehensive observability across all services. - -## Implementation Scope - -| Component | Status | Notes | -|-----------|--------|-------| -| Shared monitoring package | ✅ Complete | `packages/monitoring/` with Datadog + Sentry SDK wrappers | -| API server integration | ✅ Complete | Entry points and error handling middleware | -| Service integrations | ✅ Complete | darkwatch, spamshield, voiceprint configured | -| Docker compose | ✅ Complete | Datadog agent sidecar with proper configuration | -| Terraform infrastructure | ✅ Complete | CloudWatch dashboard + alerting + SNS topics | -| Environment config | ✅ Complete | `.env.example` with all monitoring variables | -| Mobile/Web integration | ⚠️ Partial | package.json updated but implementation missing | - -## Key Findings - -### Strengths -- Clean separation of concerns with dedicated monitoring package -- Graceful degradation when config missing -- Type-safe configuration with Zod validation -- Comprehensive CloudWatch dashboards and alerting -- Service-specific tagging (DD_SERVICE per service) -- User context association for better error triage - -### Issues Found - -**High Priority:** -1. Duplicate entry points (index.ts and server.ts both initialize monitoring) -2. Missing ESLint configuration for monitoring package - -**Medium Priority:** -3. Incomplete mobile/web integration (package.json updated but no implementation) -4. Missing unit/integration tests for monitoring package -5. Hard-coded CloudWatch region (us-east-1) - -**Low Priority:** -6. Missing documentation (README with setup instructions) -7. No monitoring-specific health check endpoint - -## Final Decision - -**✅ APPROVED** - Ready for Security Review - -The implementation is functionally complete and follows good practices. The identified issues are mostly related to cleanup and documentation rather than functional problems. - -## Next Steps - -1. Security Reviewer validates implementation -2. If approved, merge to main branch -3. Complete remaining cleanup tasks post-merge - ---- - -*Review completed by Code Reviewer agent on 2026-05-09* -*Assigned to: Security Reviewer* diff --git a/packages/jobs/src/report.jobs.ts b/packages/jobs/src/report.jobs.ts index dc28a50..8eaa4d1 100644 --- a/packages/jobs/src/report.jobs.ts +++ b/packages/jobs/src/report.jobs.ts @@ -66,18 +66,24 @@ async function processReportGeneration( const { EmailService } = await import('@shieldai/shared-notifications'); const emailService = EmailService.getInstance(); - await emailService.send({ - channel: 'email', - to: notifyEmail, - subject: `ShieldAI: ${report.title} Ready`, - htmlBody: ` -

Your ShieldAI Protection Report is Ready

-

${report.title}

-

${report.summary || 'View your report to see detailed protection statistics.'}

-

View Report

-

Download PDF

- `, - textBody: `Your ShieldAI report "${report.title}" is ready. View it at ${process.env.DASHBOARD_URL || 'https://app.shieldai.com'}/reports/${report.id}`, + const dashboardUrl = process.env.DASHBOARD_URL || 'https://app.shieldai.com'; + + const user = await prisma.user.findUnique({ + where: { id: userId }, + select: { name: true, email: true }, + }); + + const userName = user?.name || notifyEmail.split('@')[0]; + + await emailService.sendWithTemplate(notifyEmail, { + templateId: 'report_ready', + variables: { + name: userName, + report_title: report.title, + report_summary: report.summary || 'Your protection report contains detailed statistics and recommendations.', + report_url: `${dashboardUrl}/reports/${report.id}`, + pdf_url: report.pdfUrl || `${dashboardUrl}/api/v1/reports/${report.id}/pdf`, + }, }); await prisma.securityReport.update({ diff --git a/packages/monitoring/tsconfig.tsbuildinfo b/packages/monitoring/tsconfig.tsbuildinfo index 11cc4fd..3e58cf4 100644 --- a/packages/monitoring/tsconfig.tsbuildinfo +++ b/packages/monitoring/tsconfig.tsbuildinfo @@ -1 +1 @@ -{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/abort-handler.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/abort.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/auth.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/identity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/response.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/command.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoint.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/feature-ids.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/logger.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/uri.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/http.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/util.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/middleware.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/exact.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/crypto.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/checksum.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/client.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/config.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transfer.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/manager.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/pool.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/eventStream.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/encode.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/shapes.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/retry.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/retry.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/pagination.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/profile.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/serde.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/traits.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/schema.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/schema-deprecated.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/signature.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/stream.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/mutable.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/waiter.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-host-header@3.972.10/node_modules/@aws-sdk/middleware-host-header/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/configurations.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/abort.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/auth.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/blob/blob-types.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/checksum.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/client.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/command.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/connection.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/Identity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/AnonymousIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/AwsCredentialIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/LoginIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/TokenIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/index.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/util.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/credentials.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/crypto.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/dns.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/encode.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/endpoint.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/eventStream.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/function.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/http.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/logger.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/middleware.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/pagination.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/profile.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/request.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/response.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/retry.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/serde.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/shapes.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/signature.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/stream.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/token.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/transfer.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/uri.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/waiter.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/user-agent-middleware.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromEnv.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getHomeDir.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getProfileName.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFilepath.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFromFile.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSharedConfigFiles.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSsoSessionData.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/parseKnownFiles.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/externalDataInterceptor.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/readFile.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromSharedConfigFiles.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromStatic.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/configLoader.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/resolveEndpointsConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/resolveCustomEndpointsConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/config.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/resolveRegionConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/EndpointVariantTag.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/EndpointVariant.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/PartitionHash.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/RegionHash.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/getRegionInfo.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/NODE_DISABLE_REQUEST_COMPRESSION_CONFIG_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/NODE_REQUEST_MIN_COMPRESSION_SIZE_BYTES_CONFIG_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/configurations.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/compressionMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/getCompressionPlugin.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/resolveCompressionConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/getEndpointFromInstructions.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/endpointMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/getEndpointPlugin.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointRequiredConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/ConfiguredRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/DefaultRateLimiter.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/config.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/retries-2026-config.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/types.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/StandardRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/AdaptiveRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/delayDecider.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/retryDecider.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/configurations.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/omitRetryHeadersMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retryMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/parseRetryAfterHeader.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpRequest.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpResponse.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpHandler.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/extensions/httpExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/Field.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/Fields.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/isValidHostname.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/client.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/blob/Uint8ArrayBlobAdapter.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.browser.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.browser.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/createBufferedReadable.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/getAwsChunkedEncodingStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/headStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/sdk-stream-mixin.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/splitStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/stream-type-check.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/collect-stream-body.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/extended-encode-uri-component.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/deref.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/middleware/schema-middleware-types.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/middleware/getSchemaSerdePlugin.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/Schema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/ListSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/MapSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/OperationSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/operation.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/StructureSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/ErrorSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/SimpleSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/sentinels.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/event-streams/EventStreamSerde.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/event-streams/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/SerdeContext.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/HttpBindingProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/RpcProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/requestBuilder.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/resolve-path.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/FromStringShapeDeserializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeDeserializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/ToStringShapeSerializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeSerializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/determineTimestampFormat.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/collect-stream-body.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/command.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/create-aggregated-client.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/default-error-handler.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/defaults-mode.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/emitWarningIfUnsupportedVersion.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/exceptions.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extended-encode-uri-component.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/checksum.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/retry.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/defaultExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/get-array-if-single-item.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/get-value-from-text-node.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/is-serializable-header-value.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/NoOpLogger.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/object-mapping.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/resolve-path.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/ser-utils.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/serde-json.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/copyDocumentWithTransform.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/date-utils.d.ts","../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-types/v4.d.ts","../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/generateIdempotencyToken.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/lazy-json.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/parse-utils.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/quote-header.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/schema-serde-lib/schema-date-utils.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/split-every.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/split-header.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/value/NumericValue.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/SignatureV4Base.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getCanonicalHeaders.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getCanonicalQuery.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getPayloadHash.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/moveHeadersToQuery.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/prepareRequest.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/credentialDerivation.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/headerUtil.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/signature-v4a-container.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/auth/httpAuthSchemeProvider.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/enums.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/models_0.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAlarmsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAnomalyDetectorCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteDashboardsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmContributorsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmHistoryCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmsForMetricCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAnomalyDetectorsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DisableAlarmActionsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DisableInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/EnableAlarmActionsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/EnableInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetDashboardCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetInsightRuleReportCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricDataCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricStatisticsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricWidgetImageCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListAlarmMuteRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListDashboardsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListManagedInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListMetricsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListTagsForResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutAnomalyDetectorCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutCompositeAlarmCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutDashboardCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutInsightRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutManagedInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricAlarmCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricDataCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/SetAlarmStateCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/TagResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/UntagResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/endpoint/EndpointParameters.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/auth/httpAuthExtensionConfiguration.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/extensionConfiguration.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/runtimeExtensions.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatchClient.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/createWaiter.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatch.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/schemas/schemas_0.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/Interfaces.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAlarmHistoryPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAlarmsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAnomalyDetectorsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeInsightRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/GetMetricDataPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListAlarmMuteRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListDashboardsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListManagedInsightRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListMetricsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListMetricStreamsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/CloudWatchServiceException.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForCompositeAlarmExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmMuteRuleExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/errors.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/index.d.ts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","./src/config.ts","./src/cloudwatch.ts","./src/datadog.ts","./src/sentry.ts","./src/datadog-logs.ts","./src/datadog-init.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/index.d.ts"],"fileIdsList":[[131,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,406,409,455,518,526,530,533,535,536,537,550],[131,132,175,207,214,223,242,252,332,353,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,405,455,518,526,530,533,535,536,537,550],[131,353,455,518,526,530,533,535,536,537,550],[131,352,406,455,518,526,530,533,535,536,537,550],[131,223,332,355,406,455,518,526,530,533,535,536,537,550],[356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,455,518,526,530,533,535,536,537,550],[131,455,518,526,530,533,535,536,537,550],[131,173,252,403,455,518,526,530,533,535,536,537,550],[354,355,402,404,405,406,410,411,412,424,425,429,430,455,518,526,530,533,535,536,537,550],[332,455,518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550],[332,355,425,455,518,526,530,533,535,536,537,550],[354,455,518,526,530,533,535,536,537,550],[131,363,413,455,518,526,530,533,535,536,537,550],[131,364,413,455,518,526,530,533,535,536,537,550],[131,366,413,455,518,526,530,533,535,536,537,550],[131,367,413,455,518,526,530,533,535,536,537,550],[131,375,413,455,518,526,530,533,535,536,537,550],[131,406,455,518,526,530,533,535,536,537,550],[131,380,413,455,518,526,530,533,535,536,537,550],[131,381,413,455,518,526,530,533,535,536,537,550],[131,382,413,455,518,526,530,533,535,536,537,550],[131,384,413,455,518,526,530,533,535,536,537,550],[131,383,413,455,518,526,530,533,535,536,537,550],[413,414,415,416,417,418,419,420,421,422,423,455,518,526,530,533,535,536,537,550],[404,455,518,526,530,533,535,536,537,550],[131,283,455,518,526,530,533,535,536,537,550],[426,427,428,455,518,526,530,533,535,536,537,550],[364,406,409,425,455,518,526,530,533,535,536,537,550],[372,406,409,425,455,518,526,530,533,535,536,537,550],[131,334,455,518,526,530,533,535,536,537,550],[131,333,455,518,526,530,533,535,536,537,550],[192,455,518,526,530,533,535,536,537,550],[333,334,335,336,349,455,518,526,530,533,535,536,537,550],[131,192,455,518,526,530,533,535,536,537,550],[131,173,348,455,518,526,530,533,535,536,537,550],[350,351,455,518,526,530,533,535,536,537,550],[133,174,455,518,526,530,533,535,536,537,550],[131,133,173,455,518,526,530,533,535,536,537,550],[131,147,148,455,518,526,530,533,535,536,537,550],[141,455,518,526,530,533,535,536,537,550],[131,143,455,518,526,530,533,535,536,537,550],[141,142,144,145,146,455,518,526,530,533,535,536,537,550],[134,135,136,137,138,139,140,143,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,455,518,526,530,533,535,536,537,550],[147,148,455,518,526,530,533,535,536,537,550],[193,194,195,196,455,518,526,530,533,535,536,537,550],[131,195,455,518,526,530,533,535,536,537,550],[197,200,206,455,518,526,530,533,535,536,537,550],[198,199,455,518,526,530,533,535,536,537,550],[201,455,518,526,530,533,535,536,537,550],[202,455,518,526,530,533,535,536,537,550],[131,203,204,455,518,526,530,533,535,536,537,550],[203,204,205,455,518,526,530,533,535,536,537,550],[284,455,518,526,530,533,535,536,537,550],[131,252,283,287,455,518,526,530,533,535,536,537,550],[131,283,285,286,455,518,526,530,533,535,536,537,550],[131,283,287,455,518,526,530,533,535,536,537,550],[131,265,455,518,526,530,533,535,536,537,550],[266,267,286,287,288,289,290,291,292,293,294,295,296,455,518,526,530,533,535,536,537,550],[131,252,455,518,526,530,533,535,536,537,550],[131,286,455,518,526,530,533,535,536,537,550],[131,294,455,518,526,530,533,535,536,537,550],[131,277,455,518,526,530,533,535,536,537,550],[268,270,271,272,273,274,275,276,277,278,279,280,281,282,455,518,526,530,533,535,536,537,550],[131,269,455,518,526,530,533,535,536,537,550],[131,276,455,518,526,530,533,535,536,537,550],[131,271,455,518,526,530,533,535,536,537,550],[322,455,518,526,530,533,535,536,537,550],[319,320,323,324,325,326,327,328,329,330,455,518,526,530,533,535,536,537,550],[131,210,455,518,526,530,533,535,536,537,550],[131,210,211,455,518,526,530,533,535,536,537,550],[208,209,210,211,212,213,455,518,526,530,533,535,536,537,550],[210,455,518,526,530,533,535,536,537,550],[131,215,216,455,518,526,530,533,535,536,537,550],[217,218,455,518,526,530,533,535,536,537,550],[215,216,219,220,221,222,455,518,526,530,533,535,536,537,550],[234,235,236,237,238,239,240,241,455,518,526,530,533,535,536,537,550],[131,232,234,455,518,526,530,533,535,536,537,550],[131,233,455,518,526,530,533,535,536,537,550],[131,238,455,518,526,530,533,535,536,537,550],[131,176,189,190,455,518,526,530,533,535,536,537,550],[131,188,455,518,526,530,533,535,536,537,550],[176,189,190,191,455,518,526,530,533,535,536,537,550],[131,248,455,518,526,530,533,535,536,537,550],[245,455,518,526,530,533,535,536,537,550],[246,455,518,526,530,533,535,536,537,550],[131,243,244,455,518,526,530,533,535,536,537,550],[243,244,245,247,248,249,250,251,455,518,526,530,533,535,536,537,550],[177,178,179,180,182,183,184,185,186,187,455,518,526,530,533,535,536,537,550],[131,181,455,518,526,530,533,535,536,537,550],[131,182,455,518,526,530,533,535,536,537,550],[131,337,455,518,526,530,533,535,536,537,550],[337,338,339,340,341,342,343,344,345,346,347,455,518,526,530,533,535,536,537,550],[297,455,518,526,530,533,535,536,537,550],[131,223,455,518,526,530,533,535,536,537,550],[253,455,518,526,530,533,535,536,537,550],[131,307,308,455,518,526,530,533,535,536,537,550],[309,455,518,526,530,533,535,536,537,550],[131,253,298,299,300,301,302,303,304,305,306,310,311,312,313,314,315,316,317,318,331,455,518,526,530,533,535,536,537,550],[63,455,518,526,530,533,535,536,537,550],[62,455,518,526,530,533,535,536,537,550],[66,75,76,77,455,518,526,530,533,535,536,537,550],[75,78,455,518,526,530,533,535,536,537,550],[66,73,455,518,526,530,533,535,536,537,550],[66,78,455,518,526,530,533,535,536,537,550],[64,65,76,77,78,79,455,518,526,530,533,535,536,537,550],[82,455,518,526,530,533,535,536,537,550,555],[84,455,518,526,530,533,535,536,537,550],[67,68,74,75,455,518,526,530,533,535,536,537,550],[67,75,455,518,526,530,533,535,536,537,550],[87,89,90,455,518,526,530,533,535,536,537,550],[87,88,455,518,526,530,533,535,536,537,550],[92,455,518,526,530,533,535,536,537,550],[64,455,518,526,530,533,535,536,537,550],[69,94,455,518,526,530,533,535,536,537,550],[94,455,518,526,530,533,535,536,537,550],[97,455,518,526,530,533,535,536,537,550],[94,95,96,455,518,526,530,533,535,536,537,550],[94,95,96,97,98,455,518,526,530,533,535,536,537,550],[71,455,518,526,530,533,535,536,537,550],[67,73,75,455,518,526,530,533,535,536,537,550],[84,85,455,518,526,530,533,535,536,537,550],[100,455,518,526,530,533,535,536,537,550],[100,104,455,518,526,530,533,535,536,537,550],[100,101,104,105,455,518,526,530,533,535,536,537,550],[74,103,455,518,526,530,533,535,536,537,550],[81,455,518,526,530,533,535,536,537,550],[63,72,455,518,526,530,533,535,536,537,550],[71,73,455,518,526,530,532,533,534,535,536,537,550],[66,455,518,526,530,533,535,536,537,550],[66,108,109,110,455,518,526,530,533,535,536,537,550],[63,67,68,69,70,71,72,73,74,75,80,83,84,85,86,88,91,92,93,99,102,103,106,107,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,455,518,526,530,533,535,536,537,550],[64,68,69,70,71,74,78,455,518,526,530,533,535,536,537,550],[68,86,455,518,526,530,533,535,536,537,550],[102,455,518,526,530,533,535,536,537,550],[67,69,75,114,116,118,455,518,526,530,533,535,536,537,550],[67,69,75,114,115,116,117,455,518,526,530,533,535,536,537,550],[118,455,518,526,530,533,535,536,537,550],[73,74,88,118,455,518,526,530,533,535,536,537,550],[67,73,455,518,526,530,533,535,536,537,550],[73,92,109,455,518,526,530,533,535,536,537,550],[74,84,85,455,518,526,530,533,535,536,537,550],[82,114,455,518,526,530,532,533,535,536,537,550,555],[67,68,124,125,455,518,526,530,533,535,536,537,550],[68,73,86,114,123,124,125,126,455,518,526,530,532,533,535,536,537,550],[68,86,102,455,518,526,530,533,535,536,537,550],[73,455,518,526,530,533,535,536,537,550],[131,224,225,455,518,526,530,533,535,536,537,550],[131,224,455,518,526,530,533,535,536,537,550],[225,455,518,526,530,533,535,536,537,550],[224,225,226,227,228,229,230,231,455,518,526,530,533,535,536,537,550],[131,455,518,526,530,533,535,536,537,550,555],[256,455,518,526,530,533,535,536,537,550],[255,257,455,518,526,530,533,535,536,537,550,555],[455,518,526,530,533,535,536,537,550,555],[254,255,258,259,260,261,262,263,264,455,518,526,530,533,535,536,537,550],[407,455,518,526,530,533,535,536,537,550],[407,408,455,518,526,530,533,535,536,537,550],[321,455,518,526,530,533,535,536,537,550],[455,515,516,518,526,530,533,535,536,537,550],[455,517,518,526,530,533,535,536,537,550],[518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,558],[455,518,519,524,526,529,530,533,535,536,537,539,550,555,567],[455,518,519,520,526,529,530,533,535,536,537,550],[455,518,521,526,530,533,535,536,537,550,568],[455,518,522,523,526,530,533,535,536,537,541,550],[455,518,523,526,530,533,535,536,537,550,555,564],[455,518,524,526,529,530,533,535,536,537,539,550],[455,517,518,525,526,530,533,535,536,537,550],[455,518,526,527,530,533,535,536,537,550],[455,518,526,528,529,530,533,535,536,537,550],[455,517,518,526,529,530,533,535,536,537,550],[455,518,526,529,530,531,533,535,536,537,550,555,567],[455,518,526,529,530,531,533,535,536,537,550,555,558],[455,505,518,526,529,530,532,533,535,536,537,539,550,555,567],[455,518,526,529,530,532,533,535,536,537,539,550,555,564,567],[455,518,526,530,532,533,534,535,536,537,550,555,564,567],[453,454,455,456,457,458,459,460,461,462,463,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[455,518,526,529,530,533,535,536,537,550],[455,518,526,530,533,535,537,550],[455,518,526,530,533,535,536,537,538,550,567],[455,518,526,529,530,533,535,536,537,539,550,555],[455,518,526,530,533,535,536,537,541,550],[455,518,526,530,533,535,536,537,542,550],[455,518,526,529,530,533,535,536,537,545,550],[455,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[455,518,526,530,533,535,536,537,547,550],[455,518,526,530,533,535,536,537,548,550],[455,518,523,526,530,533,535,536,537,539,550,558],[455,518,526,529,530,533,535,536,537,550,551],[455,518,526,530,533,535,536,537,550,552,568,571],[455,518,526,529,530,533,535,536,537,550,555,557,558],[455,518,526,530,533,535,536,537,550,556,558],[455,518,526,530,533,535,536,537,550,558,568],[455,518,526,530,533,535,536,537,550,559],[455,515,518,526,530,533,535,536,537,550,555,561,567],[455,518,526,530,533,535,536,537,550,555,560],[455,518,526,529,530,533,535,536,537,550,562,563],[455,518,526,530,533,535,536,537,550,562,563],[455,518,523,526,530,533,535,536,537,539,550,555,564],[455,518,526,530,533,535,536,537,550,565],[455,518,526,530,533,535,536,537,539,550,566],[455,518,526,530,532,533,535,536,537,548,550,567],[455,518,526,530,533,535,536,537,550,568,569],[455,518,523,526,530,533,535,536,537,550,569],[455,518,526,530,533,535,536,537,550,555,570],[455,518,526,530,533,535,536,537,538,550,571],[455,518,526,530,533,535,536,537,550,572],[455,518,521,526,530,533,535,536,537,550],[455,518,523,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,568],[455,505,518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,567],[455,518,526,530,533,535,536,537,550,573],[455,518,526,530,533,535,536,537,545,550],[455,518,526,530,533,535,536,537,550,563],[455,505,518,526,529,530,531,533,535,536,537,545,550,555,558,567,570,571,573],[455,518,526,530,533,535,536,537,550,555,574],[455,470,473,476,477,518,526,530,533,535,536,537,550,567],[455,473,518,526,530,533,535,536,537,550,555,567],[455,473,477,518,526,530,533,535,536,537,550,567],[455,467,518,526,530,533,535,536,537,550],[455,471,518,526,530,533,535,536,537,550],[455,469,470,473,518,526,530,533,535,536,537,550,567],[455,518,526,530,533,535,536,537,539,550,564],[455,518,526,530,533,535,536,537,550,575],[455,467,518,526,530,533,535,536,537,550,575],[455,469,473,518,526,530,533,535,536,537,539,550,567],[455,464,465,466,468,472,518,526,529,530,533,535,536,537,550,555,567],[455,473,482,490,518,526,530,533,535,536,537,550],[455,465,471,518,526,530,533,535,536,537,550],[455,473,499,500,518,526,530,533,535,536,537,550],[455,465,468,473,518,526,530,533,535,536,537,550,558,567,575],[455,473,518,526,530,533,535,536,537,550],[455,469,473,518,526,530,533,535,536,537,550,567],[455,464,518,526,530,533,535,536,537,550],[455,467,468,469,471,472,473,474,475,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,500,501,502,503,504,518,526,530,533,535,536,537,550],[455,473,492,495,518,526,530,533,535,536,537,550],[455,473,482,483,484,518,526,530,533,535,536,537,550],[455,471,473,483,485,518,526,530,533,535,536,537,550],[455,472,518,526,530,533,535,536,537,550],[455,465,467,473,518,526,530,533,535,536,537,550],[455,473,477,483,485,518,526,530,533,535,536,537,550],[455,477,518,526,530,533,535,536,537,550],[455,471,473,476,518,526,530,533,535,536,537,550,567],[455,465,469,473,482,518,526,530,533,535,536,537,550],[455,473,492,518,526,530,533,535,536,537,550],[455,485,518,526,530,533,535,536,537,550],[455,467,473,499,518,526,530,533,535,536,537,550,558,573,575],[444,455,518,526,530,533,535,536,537,550],[432,433,434,455,518,526,530,533,535,536,537,550],[435,436,455,518,526,530,533,535,536,537,550],[432,433,435,437,438,443,455,518,526,530,533,535,536,537,550],[433,435,455,518,526,530,533,535,536,537,550],[443,455,518,526,530,533,535,536,537,550],[435,455,518,526,530,533,535,536,537,550],[432,433,435,438,439,440,441,442,455,518,526,530,533,535,536,537,550],[431,446,455,518,526,530,533,535,536,537,550],[445,455,518,526,530,533,535,536,537,550],[446,448,449,450,455,518,526,530,533,535,536,537,550],[446,455,518,526,530,533,535,536,537,550],[446,447,448,449,450,455,518,526,530,533,535,536,537,550]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","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":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","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":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","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":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b40885a4e39fb67eb251fb009bf990f3571ccf7279dccad26c2261b4e5c8ebcd","impliedFormat":1},{"version":"2d0e63718a9ab15554cca1ef458a269ff938aea2ad379990a018a49e27aadf40","impliedFormat":1},{"version":"530e5c7e4f74267b7800f1702cf0c576282296a960acbdb2960389b2b1d0875b","impliedFormat":1},{"version":"1c483cc60a58a0d4c9a068bdaa8d95933263e6017fbea33c9f99790cf870f0a8","impliedFormat":1},{"version":"07863eea4f350458f803714350e43947f7f73d1d67a9ddf747017065d36b073a","impliedFormat":1},{"version":"396c2c14fa408707235d761a965bd84ce3d4fc3117c3b9f1404d6987d98a30d6","impliedFormat":1},{"version":"0c46e15efeb2ff6db7c6830c801204e1048ccf0c8cc9ab1556b0b95832c9d1c9","impliedFormat":1},{"version":"c475aa6e8f0a20c76b5684658e0adaf7e1ba275a088ee6a5641e1f7fe9130b8a","impliedFormat":1},{"version":"a42db31dacd0fa00d7b13608396ca4c9a5494ae794ad142e9fb4aa6597e5ca54","impliedFormat":1},{"version":"4d2b263907b8c03c5b2df90e6c1f166e9da85bd87bf439683f150afc91fce7e7","impliedFormat":1},{"version":"db6eec0bf471520d5de8037e42a77349c920061fb0eb82d7dc8917262cbf0f17","impliedFormat":1},{"version":"13c83c04f3cbd2da8276c6290b75f295edf309b4f907f667f1b775d5f048f47e","impliedFormat":1},{"version":"ca70001e8ea975754a3994379faca469a99f81d00e1ff5b95cabac5e993359aa","impliedFormat":1},{"version":"d6fa1d345cf72ead5f57dd2561136b7d09b774891d81822087499b41b3f04913","impliedFormat":1},{"version":"3bdc578841f58bfd1087e14f81394ece5efd56b953362ef100bdd5bd179cd625","impliedFormat":1},{"version":"2bc15addade46dc6480df2817c6761d84794c67819b81e9880ab5ce82afb1289","impliedFormat":1},{"version":"247d6e003639b4106281694e58aa359613b4a102b02906c277e650269eaecede","impliedFormat":1},{"version":"fe37c7dc4acc6be457da7c271485fcd531f619d1e0bfb7df6a47d00fca76f19c","impliedFormat":1},{"version":"159af954f2633a12fdee68605009e7e5b150dbeb6d70c46672fd41059c154d53","impliedFormat":1},{"version":"a1b36a1f91a54daf2e89e12b834fa41fb7338bc044d1f08a80817efc93c99ee5","impliedFormat":1},{"version":"8bb4a5b632dd5a868f3271750895cb61b0e20cff82032d87e89288faee8dd6e2","impliedFormat":1},{"version":"2a3e6dfb299953d5c8ba2aca69d61021bd6da24acea3d301c5fa1d6492fcb0ec","impliedFormat":1},{"version":"017de6fdabea79015d493bf71e56cbbff092525253c1d76003b3d58280cd82a0","impliedFormat":1},{"version":"cf94e5027dd533d4ee448b6076be91bc4186d70f9dc27fac3f3db58f1285d0be","impliedFormat":1},{"version":"74293f7ca4a5ddf3dab767560f1ac03f500d43352b62953964bf73ee8e235d3d","impliedFormat":1},{"version":"06921a4f3da17bed5d4bc6316658ce0ea7532658a5fc575a24aa07034c1b0d3d","impliedFormat":1},{"version":"90ee466f5028251945ee737787ee5e920ee447122792ad3c68243f15efa08414","impliedFormat":1},{"version":"34c17533b08bd962570d7bdb838fcaf5bcf7b913c903bc9241b0696a635b8115","impliedFormat":1},{"version":"1d567a058fe33c75604d2f973f5f10010131ab2b46cf5dddd2f7f5ee64928f07","impliedFormat":1},{"version":"5af5ebe8c9b84f667cd047cfcf1942d53e3b369dbd63fbea2a189bbf381146c6","impliedFormat":1},{"version":"5e126f7796301203e1d1048c1e5709ff9251f872a19f5ac0ee1f375d8128ef9b","impliedFormat":1},{"version":"147734cfd0973548fb6ef75d1e7d2c0b56bb59aad72b280784e811d914dc47d6","impliedFormat":1},{"version":"d2594d95d465026ebbee361f4819dc7b3146f4a8b42091ffb5dd90f9ceb345ab","impliedFormat":1},{"version":"e399d54c1b272a400ed446ca35d5e43d6b820723c2e5727b188ebea261e7cc2e","impliedFormat":1},{"version":"123568587c36c9f2a75091d8cdf8f287193855ba5aa10797b4fc320c80920b7f","impliedFormat":1},{"version":"6deffa531bdb8817b363505e88d957653d0c454f42c69e31588d00102cd1a076","impliedFormat":1},{"version":"973551068756351486afe706b240eb4dc83678ab2d829a1c6b1a19871394fd5f","impliedFormat":1},{"version":"e647d13de80e1b6b4e1d94363ea6f5f8f77dfb95d562748b488a7248af25aabf","impliedFormat":1},{"version":"9b7b0209a8841f5ffa60ccdfae26f7dc70ea4e7e446a603ef4732e84f1bb1b4f","impliedFormat":1},{"version":"5edc4b81a61ea5e0319b32d8f581d9643cb747cf44477b16af048f62d358c433","impliedFormat":1},{"version":"d47c9f84b00def208cbfdd820f8d10425ead9dbf36350d77fb55d5ef6857dabc","impliedFormat":1},{"version":"3bc5f767d5e0cd548c92e4623e0a7f4486889a72d2ca9cbc81df760669270dcc","impliedFormat":1},{"version":"20cf19c8028a7b958e9c2000281d0f4c4cd12502fef7d63b088d44647cdd607b","impliedFormat":1},{"version":"799780c3726407eaa2e09e709c376ec459582f6f9c41d9643f863580cecf7ff8","impliedFormat":1},{"version":"37280465f8f9b2ea21d490979952b18b7f4d1f0d8fab2d627618fb2cfa1828e3","impliedFormat":1},{"version":"52e29afa525973fc7cff28c4b6b359d91ad030d4aa198f060f813d4abcadb099","affectsGlobalScope":true,"impliedFormat":1},{"version":"a890cccdc380629c6cd9e9d92fff4ca69b9adddde84cc503296ada99429b5a3b","impliedFormat":1},{"version":"168b6da36cf7b832173d7832e017bc6c6c7b4023bf6b2de293efb991b96bca44","impliedFormat":1},{"version":"05b39d7219bb2f55f865bca39a3772e1c0a396ea562967929d6b666560c85617","impliedFormat":1},{"version":"bcae62618c23047e36d373f0feac5b13f09689e4cd08e788af13271dbe73a139","impliedFormat":1},{"version":"2c49c6d7da43f6d21e2ca035721c31b642ebf12a1e5e64cbf25f9e2d54723c36","impliedFormat":1},{"version":"5ae003688265a1547bbcb344bf0e26cb994149ac2c032756718e9039302dfac8","impliedFormat":1},{"version":"e1744dbace6ba2051a32da3c6b40e0fc690810a87b9ad4a1925b59f8f7157a34","impliedFormat":1},{"version":"ba8a615335e3dfdf0773558357f15edfff0461db9aa0aef99c6b60ebd7c40344","impliedFormat":1},{"version":"6921769648e4b83bb10e8fcf7011ea2d8f7de5d056daacf661648935a407376e","impliedFormat":1},{"version":"dd21167f276d648aa8a6d0aacd796e205d822406a51420b7d7f5aa18a6d9d6d9","impliedFormat":1},{"version":"3dea56c1745af2c31af0c84ecc6082044dc14cfa4d7366251e5bf91693eecd8b","impliedFormat":1},{"version":"eb6360635bc14b96a243bd5134e471f3ad26b0ecaf52d9d28621e443edb56e5c","impliedFormat":1},{"version":"3ad73b5b1d43cb8ba3975b2999396e10bf3ed015b3337876079caf07f22501d9","impliedFormat":1},{"version":"62a64260ea1dada7d643377c1a0ef3495363f4cca36adf7345e8566e7d7f419b","impliedFormat":1},{"version":"8b15e8af2fc862870418d0a082a9da2c2511b962844874cf3c2bad6b2763ca10","impliedFormat":1},{"version":"3d399835c3b3626e8e00fefc37868efe23dbb660cce8742486347ad29d334edd","impliedFormat":1},{"version":"b262699ba3cc0cae81dae0d9ff1262accf9832b2b7ee6548c626d74076bff8fe","impliedFormat":1},{"version":"057cac07c7bc5abdcfba44325fcea4906dff7919a3d7d82d4ec40f8b4c90cf2f","impliedFormat":1},{"version":"d94034601782f828aa556791279c86c37f09f7034a2ab873eefe136f77a6046b","impliedFormat":1},{"version":"fd25b101370ee175be080544387c4f29c137d4e23cad4de6c40c044bed6ecf99","impliedFormat":1},{"version":"8175f51ec284200f7bd403cb353d578e49a719e80416c18e9a12ebf2c4021b2b","impliedFormat":1},{"version":"e3acb4eb63b7fc659d7c2ac476140f7c85842a516b98d0e8698ba81650a1abd4","impliedFormat":1},{"version":"04d4c47854061cc5cefc3089f38e006375ae283c559ab2ce00763bca2e49516b","impliedFormat":1},{"version":"6a2146116c2fa9ca4fefa5c1d3de821462fc22e5330cda1196be15d439728c51","impliedFormat":1},{"version":"b30cc18b84468d3fa20ac04ca5ba9bed5a03431fc8a22bcf2c266c132baa1d3f","impliedFormat":1},{"version":"a9452e81c28c642c2f095844c3473d979eba5ae89726ad52b15ea86b3e112ee2","impliedFormat":1},{"version":"a54f60678f44415d01a810ca27244e04b4dde3d9b6d9492874262f1a95e56c7d","impliedFormat":1},{"version":"84058607d19ac1fdef225a04832d7480478808c094cbaedbceda150fa87c7e25","impliedFormat":1},{"version":"27abd2f2ed5aaac951b12b8332aac7970c9cf0cfd88c458f0f016228180b4293","impliedFormat":1},{"version":"901c640dced9243875645e850705362cb0a9a7f2eea1a82bb95ed53d162f38dd","impliedFormat":1},{"version":"ebb0d92294fe20f62a07925ce590a93012d6323a6c77ddce92b7743fa1e9dd20","impliedFormat":1},{"version":"b499f398b4405b9f073b99ad853e47a6394ae6e1b7397c5d2f19c23a4081f213","impliedFormat":1},{"version":"ef2cbb05dee40c0167de4e459b9da523844707ab4b3b32e40090c649ad5616e9","impliedFormat":1},{"version":"068a22b89ecc0bed7182e79724a3d4d3d05daacfe3b6e6d3fd2fa3d063d94f44","impliedFormat":1},{"version":"e70d18d1352550a028f48d74e126a919c830267b38c76ddae4dc1571476a462a","impliedFormat":1},{"version":"5624b09ca38ea604954f0422a9354e79ada3100305362a0da79555b3dd86f578","impliedFormat":1},{"version":"24830e279f5773a4108e0cbde02bdcb6c20b1d347ff1509f63eed031bf8b3190","impliedFormat":1},{"version":"8899fd9f8ab5ce2b3af7ba0e1a47eede6a2a30a269283cc4a934ab755d0aadaa","impliedFormat":1},{"version":"f10759ece76e17645f840c7136b99cf9a2159b3eabf58e3eac9904cadc22eee5","impliedFormat":1},{"version":"363dd28f6a218239fbd45bbcc37202ad6a9a40b533b3e208e030137fa8037b03","impliedFormat":1},{"version":"c6986e90cf95cf639f7f55d8ca49c7aaf0d561d47e6d70ab6879e40f73518c8d","impliedFormat":1},{"version":"224d293a02b7d22edb77b4ab89c0d4f63b95ecd7c0698776719f33863a77ffdc","impliedFormat":1},{"version":"1518707348d7bd6154e30d49487ba92d47b6bd9a32d320cd8e602b59700b5317","impliedFormat":1},{"version":"ede55f9bac348427d5b32a45ad7a24cc6297354289076d50c68f1692add61bce","impliedFormat":1},{"version":"d53a7e00791305f0bd04ea6e4d7ea9850ccc3538877f070f55308b3222f0a793","impliedFormat":1},{"version":"4ea5b45c6693288bb66b2007041a950a9d2fe765e376738377ba445950e927f6","impliedFormat":1},{"version":"7f25e826bfabe77a159a5fec52af069c13378d0a09d2712c6373ff904ba55d4b","impliedFormat":1},{"version":"7ffef1ed1c2bc7d9cf2fc134a7e8c68b10416cdbe8e70da8a4bd7ad5c8698d9c","impliedFormat":1},{"version":"63c0926fcd1c3d6d9456f73ab17a6affcdfc41f7a0fa5971428a57e9ea5cf9e0","impliedFormat":1},{"version":"eb524eabfa1809d54dd289374c0ce0ed4f145abb878687e4fd5e67f91d7d08a6","impliedFormat":1},{"version":"4ef0a17c5bcae3d68227136b562a4d54a4db18cfa058354e52a9ac167d275bbb","impliedFormat":1},{"version":"b748dd4ccc072a2b7194b898dc8996a2cb56bfa15ccdb60ac0d2f9eaa8e28e9d","impliedFormat":1},{"version":"64269ed536e2647e12239481e8287509f9ee029cbb11169793796519cc37ecd4","impliedFormat":1},{"version":"c06fd8688dd064796b41170733bba3dcacfaf7e711045859364f4f778263fc7b","impliedFormat":1},{"version":"b0a8bf71fea54a788588c181c0bffbdd2c49904075a7c9cb8c98a3106ad6aa6d","impliedFormat":1},{"version":"434c5a40f2d5defeede46ae03fb07ed8b8c1d65e10412abd700291b24953c578","impliedFormat":1},{"version":"c5a6184688526f9cf53e3c9f216beb2123165bfa1ffcbfc7b1c3a925d031abf7","impliedFormat":1},{"version":"cd548f9fcd3cebe99b5ba91ae0ec61c3eae50bed9bc3cfd29d42dcfc201b68b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"14a8ec10f9faf6e0baff58391578250a51e19d2e14abcc6fc239edb0fb4df7c5","impliedFormat":1},{"version":"81b0cf8cd66ae6736fd5496c5bbb9e19759713e29c9ed414b00350bd13d89d70","impliedFormat":1},{"version":"4992afbc8b2cb81e0053d989514a87d1e6c68cc7dedfe71f4b6e1ba35e29b77a","impliedFormat":1},{"version":"1810b0b14614e53075d4d1b3e6be512bde19b1ed3a287925c0d24bae8585fa1b","impliedFormat":1},{"version":"1c390420d6e444195fd814cb9dc2d9ca65e86eb2df9c1e14ff328098e1dc48ae","impliedFormat":1},{"version":"ec8b45e83323be47c740f3b573760a6f444964d19bbe20d34e3bca4b0304b3ad","impliedFormat":1},{"version":"ab8b86168ceb965a16e6fc39989b601c0857e1fd3fd63ff8289230163b114171","impliedFormat":1},{"version":"62d2f0134c9b53d00823c0731128d446defe4f2434fb84557f4697de70a62789","impliedFormat":1},{"version":"dc4a2cf12254395c8ae3fb4c61e6fd9f7c16110be66483599f9641941416988f","impliedFormat":1},{"version":"82b4045609dc0918319f835de4f6cb6a931fd729602292921c443a732a6bb811","impliedFormat":1},{"version":"3b10140aae26eca9f0619c299921e202351c891b34e7245762e0641469864ffd","impliedFormat":1},{"version":"c0c0b22cefd1896b92d805556fcabda18720d24981b8cb74e08ffea1f73f96c2","impliedFormat":1},{"version":"ceec94a0cd2b3a121166b6bfe968a069f33974b48d9c3b45f6158e342396e6b2","impliedFormat":1},{"version":"49e35a90f8bd2aa4533286d7013d9c9ff4f1d9f2547188752c4a88c040e42885","impliedFormat":1},{"version":"3261b6d56270a3d8535f34c2fdad217cfba860d0f74f154f0a6a2031d0c8daf9","impliedFormat":1},{"version":"7eca5b6e1cd1c28637103d2b6c44e8b89035a53e515ff31ae3babc82e6c8e1f9","impliedFormat":1},{"version":"49c9c8316d59f6175e6e0439b1d5ef1218f02ce622d1a599449de30645559eed","impliedFormat":1},{"version":"e4c48be0ffac936fb60b19394739847145674582cbc7e24000d9fd35ab037365","impliedFormat":1},{"version":"215de2c70639abaf351b8ff69041e44a767ecffc5e8d2ac13ca3f201853fa1fb","impliedFormat":1},{"version":"d228c7773484140fac7286c9ca4f0e04db4a62acb792a606a2dda24bef70dc21","impliedFormat":1},{"version":"8e464886b1ff36711539ffa15ec2482472220271100768c1d98acfdf355a23ba","impliedFormat":1},{"version":"fb0135c4906ff44d3064feebd84bae323ebb7b59b8ce7053d34e7283d27c9076","impliedFormat":1},{"version":"178c8707a575baddc8f529a6dbd5d574a090e3498b2d525753db7938c74227c3","impliedFormat":1},{"version":"ae81e464a7db70637d07b93582b051487c7d119ac7e1bab1b1582a96e631b3f7","impliedFormat":1},{"version":"148634fcee440c7bd8c1339b97455aaadc196b0229ffc8dc8b85965a7d65b380","impliedFormat":1},{"version":"d3c60c4cf88594f84f7f5ca5f87d59090787bfcf032e86d4f03d58394b826910","impliedFormat":1},{"version":"f3c3f17825c6a78681186da04c2f3a0f1c60cfa95f3d4b82bbbd6ebd57214a6a","impliedFormat":1},{"version":"8a2c67c55dfab4ea1f6e378cfa4b5cb60d8e8931316500f5b59c201674f6105c","impliedFormat":1},{"version":"b7b45ff1345f8e6bd6109a5b6ef0394c2e3bcbe48830516d9e78e20592ce468a","impliedFormat":1},{"version":"e5eb4863b7fc8515078dc09cd2f98fd179ff1a55216ecdc57d2dec7ce13e36c1","impliedFormat":1},{"version":"81785a3ea03d6db981ddfcf8fb1bd1377f985564def845c55e49e16f171deec4","impliedFormat":1},{"version":"537a2b61594512c5e75fad7e29d25c23922e27e5a1506eb4fce74fe858472a6e","impliedFormat":1},{"version":"8f9a2a6ddbd11ecbbc430ae8ce25528e696206f799ef1f22528569caf6ce580c","impliedFormat":1},{"version":"e05e03e1687d7f80f1569fdae117bb7b97feef1e839a61e1b3c61ffca8cc67c9","impliedFormat":1},{"version":"b311d973a0028d6bc19dfbaae891ad3f7c5057684eb105cfbeec992ab71fbc13","impliedFormat":1},{"version":"8a49e533b98d5c18a8d515cd3ae3bab9d02b6d4a9ac916e1dba9092ca0ebff15","impliedFormat":1},{"version":"fcb26ad5a6c39ce71dfac5dc16b3ed0e1a06a6dc8b9ac69112c935ad95fcad69","impliedFormat":1},{"version":"6acdef608420511aa0c9e3290b37d671bab4f719ffc2a2992c2e63a24605a657","impliedFormat":1},{"version":"291df5da0d84d1452cd68abfbcca08a3f96af610bf0e748528ba8d25784ce2b1","impliedFormat":1},{"version":"176cda558a7f76813f463a46af4607a81f10de5330c0f7a43d55982163aa0493","impliedFormat":1},{"version":"6621af294bd4af8f3f9dd9bd99bd83ed8d2facd16faa6690a5b02d305abd98ab","impliedFormat":1},{"version":"5eada4495ab95470990b51f467c78d47aecfccc42365df4b1e7e88a2952af1a3","impliedFormat":1},{"version":"03a787ed987636b10f2fbd5da79733e9f7f5178584880b4de0fb411d465628b2","impliedFormat":1},{"version":"32ca6e6484b5c008c835408020422d146f9541c32bcd8379c8def9a40a259ee7","impliedFormat":1},{"version":"98bb4ccc9d2a804771a393a0fd417b874fde4d5823ca1c223924866f83d7006e","impliedFormat":1},{"version":"55167f60c1317429ac7690825df5aebcdaa5fc491511e753eb67b380d910ce5e","impliedFormat":1},{"version":"702fd3314dbc160517d98a5e718b605512e690d1f9c08402710c0d000f3abb19","impliedFormat":1},{"version":"11a70c8187814d77f518a4ce08608fbabae76908ca3fc01e749307eac1b34e31","impliedFormat":1},{"version":"265fb36b422f49389de1a63c4393651478ffb99df22fdf30811c387d0ef5941b","impliedFormat":1},{"version":"07a9aa7f3facdfac577ed4aa0c166295d54637508942a2154566d87804a33ae2","impliedFormat":1},{"version":"4a34de405e3017bf9e153850386aacdf6d26bbcd623073d13ab3c42c2ae7314c","impliedFormat":1},{"version":"993bcd7e2dd9479781f33daab41ec297b8d6e6ccc4c8f9b629a60cc41e07e5c8","impliedFormat":1},{"version":"714a7869be4ff21fa7be0dc183569db5e6818ca22882a79d2bb3a7801f5bfab4","impliedFormat":1},{"version":"dfa99386b9a1c1803eb20df3f6d3adc9e44effc84fa7c2ab6537ed1cb5cc8cfb","impliedFormat":1},{"version":"4cb85ba4cf75f1b950bd228949ae508f229296de60cf999593e4dd776f7e84e8","impliedFormat":1},{"version":"e39730c031200579280cae4ea331ec4e0aa42f8f7ad19c3ec4b0b90414e40113","impliedFormat":1},{"version":"e90bd7922cb6d591efd7330d0ba8247ec3edf4c511b81346fd49fff5184e6935","impliedFormat":1},{"version":"1b581d7fcfacd6bbdabb2ceae32af31e59bf7ef61a2c78de1a69ca879b104168","impliedFormat":1},{"version":"20f7f9e30ac8cbf38189b3adafbd945a755a049b082f27d89d1d5d52f46818fe","impliedFormat":1},{"version":"c749b03596746c41abf1e8ed6b5a6a1bcd316c00dc39a337cc152780efc593bb","impliedFormat":1},{"version":"846953ab15b2bf3a06da6ec485be611455c5c83a02102138dd01102f3e6307de","impliedFormat":1},{"version":"218ed8ccd7078df39a26ccc59a094919d7ed1c0cd0b0182233deffda851ac3c6","impliedFormat":1},{"version":"8422f4ff58293a827a8bf401bb36f7eefbf981ae9aac48643d19c1e5439ee1bc","impliedFormat":1},{"version":"f70ab2e7bd23db437c2d5ed8690c401a921afbd5d3998a6dd2aab90d9efbaf35","impliedFormat":1},{"version":"fdda29d1f7eb83a912e34ae73f4e6e612350a7d1a496d5facc2f75487e2a1601","impliedFormat":1},{"version":"8ec6b7dc9062dd5c3c2fcc54bbf24e1e8a32b29ed902abe9192ddd0fd5f5f2a7","impliedFormat":1},{"version":"52e7386606a26e912bd39cad7752cc33009aefbb062d4a45e557c29095987095","impliedFormat":1},{"version":"3a6ce66cd39bc030697a52508cfda7c248167467848964cc40bd992bd9ce71e0","impliedFormat":1},{"version":"b4ec75c8a71c180e886ffccb4b5391a5217d7e7077038de966e2b79553850412","impliedFormat":1},{"version":"58c7522c1b1c94667777664bb9b26be14159220a28abf43e42807815e3102e14","impliedFormat":1},{"version":"d1666062675fe2f5408bfc458dec90de7279820eea20890b19484250c324b8ea","impliedFormat":1},{"version":"aed88228359e87a1b1a4d3d45f5b6555724c01ac81ecd34aa56d4a0a01ba6910","impliedFormat":1},{"version":"25307c3fd3840b5bd50bf95240a134854e80f736a4666711ea8ea40ba706eaa9","impliedFormat":1},{"version":"4fce1ce36a7f6fa69d3954cd685d27995123b683d31819218d204ca6bdcbfc53","impliedFormat":1},{"version":"a26bd8cdefaaf5a4cfe2c2f9e5b9114072f6d274ed4422eb7dcd1f72705a7eb2","impliedFormat":1},{"version":"5bbcd14f0138f4e65971ed5cb5606e8591ffefe3ac78ac310b164a975ea38f4f","impliedFormat":1},{"version":"0220b23c1c15820dcbb94eb74b8671020b53cd192a708e4d1828f290149e7e89","impliedFormat":1},{"version":"654bcc87bc095d6a2248a5889ec057b38cae6052744b48f4d2922a7efac4554f","impliedFormat":1},{"version":"cad0f26943006174f5e7508c0542873c87ef77fa71d265968e5aa1239ad4459c","impliedFormat":1},{"version":"0be66c79867b62eabb489870ba9661c60c32a5b7295cce269e07e88e7bee5bf3","impliedFormat":1},{"version":"eed82e8db4b66b1ea1746a64cd8699a7779138b8e45d495306016ce918b28440","impliedFormat":1},{"version":"3a19286bcc9303c9352c03d68bb4b63cecbf5c9b7848465847bb6c9ceafa1484","impliedFormat":1},{"version":"6cdf8f9ca64918a2f3c2679bc146d55f07490f7f5e91310b642bc1a587f2e17e","impliedFormat":1},{"version":"3b55c93b5d7a44834d9d0060ca8bad7166cf83e13ef0ed0e736da4c3dbe490a2","impliedFormat":1},{"version":"d1f8a829c5e90734bb47a1d1941b8819aeee6e81a2a772c3c0f70b30e3693fa9","impliedFormat":1},{"version":"3517c54fba6f0623919137ab4bdb3b3c16e64b8578f025b0372b99be48227ad7","impliedFormat":1},{"version":"19b3d0c212d241c237f79009b4cd0051e54971747fd89dc70a74f874d1192534","impliedFormat":1},{"version":"4adc1491e1338de6745d009222786747f50d67ac34d901420fbaefbf1b51b58c","impliedFormat":1},{"version":"4cfbd2a7a4afee212bfb0c9c3cb6e4c7d48366e0565bf5b43a4cd96c91cf14bf","impliedFormat":1},{"version":"37c175e28375e157933b40ca98eeb608e05f2583821a0fae564dc04614d2d95e","impliedFormat":1},{"version":"3f20a041a051abfb2b47a66611cf4bcbf263605f5469ed7e8b51b3977892d83f","impliedFormat":1},{"version":"7de33f94f482eee2f6d1d8f24427b737e2c4006792ec4c2b87da0a426e741c4d","impliedFormat":1},{"version":"79134a050ccec1692c31f1dacccd05ce4fcdacdf98f0fa56546b98eb8bdefead","impliedFormat":1},{"version":"24f1b6865be734484de2baf99146122137654c5f5f28086c5cee97b998bfcd5c","impliedFormat":1},{"version":"398feb1537ae0409646b0489bac99a9f0d757a2048f0009255f8e35e9c0f9828","impliedFormat":1},{"version":"3da4432a9c24123f98f6f1ddc5cda9c9eedf0a8853d06321803dbc5a116e5270","impliedFormat":1},{"version":"afc60e07200c5eae65b702f95d83096de54d99fa6eb2e0154e83b5e11c520bda","impliedFormat":1},{"version":"f4651affee2900f19746d1bf0fb1c45e77f57576197561ddc90b7272835c3f37","impliedFormat":1},{"version":"19527fc5a08c68414a234b02ae9b9619cdb4b811435d12c0af528e5640236f6b","impliedFormat":1},{"version":"20a629bc3f82d238f596230637365b8aec8284c963d13dafdd4c8e2746be5e64","impliedFormat":1},{"version":"01c48e5bf524d3fc2a3fa5c08a2e18d113ad1985bc3caea0503a4ea3a9eee64a","impliedFormat":1},{"version":"68969a0efd9030866f60c027aedbd600f66ea09e1c9290853cc24c2dcc92000f","impliedFormat":1},{"version":"4dbfad496657abd078dc75749cd7853cdc0d58f5be6dfb39f3e28be4fe7e7af5","impliedFormat":1},{"version":"348d2fe7d7b187f09ea6488ead5eae9bfbdb86742a2bad53b03dff593a7d40d1","impliedFormat":1},{"version":"becdfb07610e16293af2937e5f315a760f90a40fec4ffd76eb46ebcb0b3d6e16","impliedFormat":1},{"version":"710926665f4ada6c854b47da86b727005cc0e0831097d43f8c30727a7499788c","impliedFormat":1},{"version":"3888f0e43cd987a0dfa4fc16dd2096459deea150be49a2d30d6cf29d47801c92","impliedFormat":1},{"version":"f4300c38f9809cf811d5a9196893e91639a9e2bb6edf9a4f7e640c3c4ce765ec","impliedFormat":1},{"version":"676c3327721e3410b7387b13af857f4be96f2be91b3813a724eedc06b9ce52d7","impliedFormat":1},{"version":"10716e50bcd2a25cecf2dd993f0aadf76f12a390d2f7e91dc2cac794831e865e","impliedFormat":1},{"version":"81a8f1f6218d0acc8cd2cf8b5089d21b45cf812bb5820affe3bab058b46cba7b","impliedFormat":1},{"version":"fa69921924cf112fa523a18215a3bfb352ac3f498b46e66b879e50ca46cc9203","impliedFormat":1},{"version":"9b82a268ba0a85015cb04cd558582c7949a1b91b6761292b9360d093c18e1dd1","impliedFormat":1},{"version":"ccfb77fcac04c34442ffca82ae90c8dd2a0ec1689ace547fab9a0ae337dd4752","impliedFormat":1},{"version":"7b464488950d74ca5037da375308fc0c94a539378fd0e9554556df45483aad02","impliedFormat":1},{"version":"beebde754323e430b4ecf5b9f837a05b1667b3df86bd924b52c4f80f20b3d660","impliedFormat":1},{"version":"40eda068f71d159edc51c273a01948282d6e3d38dd2430944595d526dc4b40b9","impliedFormat":1},{"version":"c790db6044ce1bbafc46f13bde46b9f0065de155b26a199f442fe064f6b05d63","impliedFormat":1},{"version":"f405e934163ed30905b4682eb542bb2d446e59c477871be9d29f92ab474d522a","impliedFormat":1},{"version":"8294ddd1c6ea4ed9ec190a2d41500539c1623e274d5a67786d6b09849cb98d45","impliedFormat":1},{"version":"666d6d6d9f2298f8d8d17ac7a34ac9ca9a59e09fc97b1ae505df6ab4934e2dbe","impliedFormat":1},{"version":"f3941ac359b8377c0ccce596a2bd3cde8986279f42d75290b0272f3ab1aa604d","impliedFormat":1},{"version":"de3d39262355af808ff74b3df62aaad0ad3cbde76c13fb4fa6fb6e4cc817e78e","impliedFormat":1},{"version":"8c38034476af70d7ad430f69cb960c5bd6efc9962f266b39ed54dd8e9cad566c","impliedFormat":1},{"version":"757f7967151a9b1f043aba090f09c1bdb0abe54f229efd3b7a656eb6da616bf4","impliedFormat":1},{"version":"786691c952fe3feac79aca8f0e7e580d95c19afc8a4c6f8765e99fb756d8d9d7","impliedFormat":1},{"version":"734614c9c05d178ceb1acf2808e1ca7c092cf39d435efc47417d8f744f3e4c0b","impliedFormat":1},{"version":"d65a7ea85e27f032d99e183e664a92f5be67c7bc7b31940957af6beaaf696844","impliedFormat":1},{"version":"5c26ad04f6048b6433f87556619fd2e50ba6601dcdf3276c826c65681197f79d","impliedFormat":1},{"version":"9c752e91fe237ce4857fbbef141bee357821e1e50c2f33a72c6df845703c87d5","impliedFormat":1},{"version":"f926160895757a498af7715653e2aedb952c2579a7cb5cc79d7b13538f9090bd","impliedFormat":1},{"version":"255be579a134ab321af2fefb52ace369a11ffb4df09d1fbfc1ed1a43c1e5eec5","impliedFormat":1},{"version":"ab0926fedbd1f97ec02ed906cf4b1cf74093ab7458a835c3617dba60f1950ba3","impliedFormat":1},{"version":"f1a661906cd0e7fa5b049b15bdef4b20a99abca08faac457eeb2b6407f30d12f","impliedFormat":1},{"version":"7f5a6eac3d3d334e2f2eba41f659e9618c06361958762869055e22219f341554","impliedFormat":1},{"version":"626291e7b45a4b6871649c908fbbc5ac98009a5182e2594fbfe80b860f513c77","impliedFormat":1},{"version":"4093c47f69ea7acf0931095d5e01bfe1a0fa78586dbf13f4ae1142f190d82cc4","impliedFormat":1},{"version":"4fc9939c86a7d80ab6a361264e5666336d37e080a00d831d9358ad83575267da","impliedFormat":1},{"version":"f4ba385eedea4d7be1feeeac05aaa05d6741d931251a85ab48e0610271d001ce","impliedFormat":1},{"version":"348d5347f700d1e6000cbdd1198730979e65bfb7d6c12cc1adedf19f0c7f7fca","impliedFormat":1},{"version":"6fa6ceb04be38c932343d6435eb6a4054c3170829993934b013b110273fe40af","impliedFormat":1},{"version":"396e7b817fc4f5461b92f9a03325c2ebb09711aebcee5c41c5fd3e738eb78526","impliedFormat":1},{"version":"4116c4d61baab4676b52f2558f26fe9c9b5ca02c2792f9c36a577e7813029551","impliedFormat":1},{"version":"a294d0b1a9b16f85768553fdbf1d47f360dbff03649a84015c83fd3a582ba527","impliedFormat":1},{"version":"8f2644578a3273f43fd700803b89b842d2cd09c1fba2421db45737357e50f5b1","impliedFormat":1},{"version":"639f94fe145a72ce520d3d7b9b3b6c9049624d90cbf85cff46fb47fb28d1d8fe","impliedFormat":1},{"version":"8327a51d574987a2b0f61ea40df4adddf959f67bc48c303d4b33d47ba3be114a","impliedFormat":1},{"version":"00e1da5fce4ae9975f7b3ca994dcb188cf4c21aee48643e1d6d4b44e72df21ee","impliedFormat":1},{"version":"b991d92a0c3a48764edd073a5d28b6b4591ec9b7d4b2381067a57f36293637d0","impliedFormat":1},{"version":"51b4ab145645785c8ced29238192f870dbb98f1968a7c7ef2580cd40663b2940","impliedFormat":1},{"version":"100802c3378b835a3ce31f5d108de149bd152b45b555f22f50c2cafb3a962ead","impliedFormat":1},{"version":"fd4fef81d1930b60c464872e311f4f2da3586a2a398a1bdf346ffc7b8863150f","impliedFormat":1},{"version":"354f47aa8d895d523ebc47aea561b5fedb44590ac2f0eae94b56839a0f08056a","impliedFormat":1},{"version":"b152c7b474d7e084e78fa5eb610261a0bfe0810e4fd7290e848fdc88812f4504","impliedFormat":1},{"version":"67f2cd6e208e68fdfa366967d1949575df6ccf90c104fc9747b3f1bdb69ad55a","impliedFormat":1},{"version":"603395070ec53375882d53b585430e8f2dc6f77f4b381b22680d26c0a9595edc","impliedFormat":1},{"version":"cef16d87ff9aed3c5b96b47e0ac4277916c1c530f10eedfce4acaeacefddd3bb","impliedFormat":1},{"version":"fab33f402019d670257c8c833ffd78a7c9a99b4f7c23271e656cdbea1e89571f","impliedFormat":1},{"version":"976d20bb5533077a2135f456a2b48b7adb7149e78832b182066930bad94f053a","impliedFormat":1},{"version":"589713fefe7282fd008a2672c5fbacc4a94f31138bae6a03db2c7b5453dc8788","impliedFormat":1},{"version":"26f7f55345682291a8280c99bb672e386722961063c890c77120aaca462ac2f9","impliedFormat":1},{"version":"bdc2312da906d4129217238545d7e01e1d00b191beea1a9529b660de8b78834f","impliedFormat":1},{"version":"62b753ed351fba7e0f6b57103529ce90f2e11b949b8fc69c39464fe958535c25","impliedFormat":1},{"version":"514321f6616d04f0c879ac9f06374ed9cb8eac63e57147ac954e8c0e7440ce00","impliedFormat":1},{"version":"3c583256798adf31ef79fd5e51cd28a6fc764db87c105b0270214642cf1988aa","impliedFormat":1},{"version":"abdb70e24d3b39bf89aa07e769b33667c2d6f4ddcb4724735d72a941de6d4631","impliedFormat":1},{"version":"151aa7caace0a8e58772bff6e3505d06191508692d8638cd93e7ca5ecfa8cd1b","impliedFormat":1},{"version":"82f75b2de1456b0be46945c6c68547f032f11238d07db45bbc9c93fca6abfe41","impliedFormat":1},{"version":"812e55580eb591f3c04245345be8c9dce378b26238fb59d704e54a61e6e37c83","impliedFormat":1},{"version":"1de7ee494c7ac185e6abf94428afe270e98a59f1bb4768e4bea7804645a0d57d","impliedFormat":1},{"version":"2c12f912bab4b1eb797b2fded3f295fee98736f8053a08d0032becbecb4b34b1","impliedFormat":1},{"version":"5776c61de0f11da1c3cf8aafc3df524e8445201c96a7c5065a36dc74c2dc0ef6","impliedFormat":1},{"version":"94ffa91cb9f8eba1f468c5439994d4544ad24658e1192060f76267b767114445","impliedFormat":1},{"version":"7f0f90d0ffdd54875c464b940afaa0f711396f65392f20e9ffafc0af12ccbf14","impliedFormat":1},{"version":"483255952a9b6240575a67f7beb4768bd850999a32d44d2c6d0ae6dfcdafe35c","impliedFormat":1},{"version":"a1957cc53ce2402d4dc5c51b7ccc76b30581ab67bea12a030a76300be67c51d8","impliedFormat":1},{"version":"8149e534c91fc2bcb3bf59f7c1fab7584382abfc5348055e7f84d2552c3de987","impliedFormat":1},{"version":"c280ec77789efcf60ea1f6fd7159774422f588104dae9dfa438c9c921f5ab168","impliedFormat":1},{"version":"2826b3526af4f0e2c8f303e7a9a9a6bb8632e4a96fece2c787f2df286a696cea","impliedFormat":1},{"version":"77ced89806322a43991a88a9bd267d6dc9e03fd207a65e879804fa760292a03b","impliedFormat":1},{"version":"c8ff3a75cd1c990cbe56080b1d254695c989136c9521cb1252c739788fe55c83","impliedFormat":1},{"version":"485f7d76af9e2b5af78aac874b0ac5563c2ae8c0a7833f62b24d837df8561fb9","impliedFormat":1},{"version":"8bdf41d41ff195838a5f9e92e5cb3dfcdc4665bcca9882b8d2f82a370a52384e","impliedFormat":1},{"version":"2b234fce994b272403881b675d6ae2e2afb2a8be8bdec71002ff8ff2d5b59bd0","impliedFormat":1},{"version":"97ba9ccb439e5269a46562c6201063fbf6310922012fd58172304670958c21f6","impliedFormat":1},{"version":"50edac457bdc21b0c2f56e539b62b768f81b36c6199a87fbb63a89865b2348f0","impliedFormat":1},{"version":"d090654a3a57a76b5988f15b7bb7edc2cdc9c056a00985c7edd1c47a13881680","impliedFormat":1},{"version":"a941c67b12a294649226ebcb81e21b41918d2d67a79d4272a6541fb5149b0536","impliedFormat":1},{"version":"c5b59474600f80ae9b02c04edf351529cf8944369ef2d0872898e256d8506aa6","impliedFormat":1},{"version":"1ba22252c4a5279497ef0c4f09d8e59da38a82ee892742fefd7c486dd85afe3f","impliedFormat":1},{"version":"530cf372b5a0b767e6fcfa6a4baa5fa5c5f8b0ef729e97ed9cf8131a7b7cada6","impliedFormat":1},{"version":"282c4190b35717e39919505d2bbebaae1154dae6281df7a66c14744ace41bc27","impliedFormat":1},{"version":"ae5f4197a648d582783cce6bc003b68e3bc04fe42f467cace7e3b03cf3d708e5","impliedFormat":1},{"version":"bd371a3a798832cde70392553f3f4d3f87451389b4229043bbbfca8f0269ba43","impliedFormat":1},{"version":"a13dce13283cd460749951e4f44328ef26de903278ab81924fdd8384df1379b9","impliedFormat":1},{"version":"0bfc9e9761ca9ceac6d01f90e0f7382a0682b89f80dc1f274d4815b978fba775","impliedFormat":1},{"version":"611a1e33f744b9d9bb2e9fe9c0f675fbee9e508339cf64c850d792e3aba19723","impliedFormat":1},{"version":"289e0c3e2f69278dddc0c03185cbf7ab3366bad4d6aa8732319e42b334ea2825","impliedFormat":1},{"version":"3fc8e42f6114d65495bfa8e5335d6f570f1ac731256f3be5d7df5912fcd21ecc","impliedFormat":1},{"version":"b5a64b328453669af75126be1b1a4ecdaede57c55db98cba03885dcbd0a2e537","impliedFormat":1},{"version":"1868f4d60f81ad95664ed267e7580be66f4b1016e1f1a180ff3761ccd2d9d0dc","impliedFormat":1},{"version":"e6cea820955ed4022cdc5a603f52572f73fb15ed80df459f87ce9764b1f0bf3b","impliedFormat":1},{"version":"814023beaec9a61cae7e928f25039b7af134d0e0278fdfc646a20dec28d5a621","impliedFormat":1},{"version":"81d0bc28861932b20c04103d07292cbd540b840e523b841ee051562da1853094","impliedFormat":1},{"version":"323f7fff5a64cd86bbbef596f22d71d1306889c43b28755b5945068d0f443a5b","impliedFormat":1},{"version":"e441733e8a1558d96f8991a7f310dd6699ac03bae952b62c7d85bb3c5bdccf02","impliedFormat":1},{"version":"3d514562ccda6d4ee5dea425fcc208917dd2a855cb8b31ec2af84b58c1c164a6","impliedFormat":1},{"version":"84577ba4fccff8794eca23d080b076cd9f73e39ac77b2000a2115468a9bff556","impliedFormat":1},{"version":"862cd0bc7cc7ddfe9076b8308c5a8cd923110f338e6677544abcb1229d133181","impliedFormat":1},{"version":"6722c7e9b22d5379c1238ae79efe51111275d1bed66d2858af5ab0936c8fb318","impliedFormat":1},{"version":"01a025dea43a20b85b966f609ea4524f50926fbf904734e42c8aea6e72941f3e","impliedFormat":1},{"version":"771d600c8f22a02db5fa440fe6e007460a8107b38ef6aaa0b83d79a10d4ae8d1","impliedFormat":1},{"version":"04c2092a7a72cab7539895ab1a56111d2b235907c2a616b7f7c3231715b17549","impliedFormat":1},{"version":"405df5bfdb87ed1fa1cdbea41d181bbd1b9b936224753886912e61e2824078bd","impliedFormat":1},{"version":"71c042008f9c421c386144bd35a63d235944f988401384afddd36bfa0da035df","impliedFormat":1},{"version":"76830db6c7db09935616cab59a6c90e213155dc5d6aedd7a87cebfb6f333b16a","impliedFormat":1},{"version":"9182852dcb34c707e658aba0689a618c51ed5994cce48d0be9c9c28458f99516","impliedFormat":1},{"version":"485df779800194de638dc9307ca66e4a750cb922b2b0e6360290a4ec281e37ac","impliedFormat":1},{"version":"ff7d2d32d070f674cee14c3c74fc5d33208f5370c1fbea46e38f96da4465eba0","impliedFormat":1},{"version":"e15de2a42bd71b66bb5e5e9b1ba4e2394e172e66e4fa82224c48a6615eaff10b","impliedFormat":1},{"version":"77b6bcc47921340b5b8fcd6d4ea8b88e5b33bba69a76c059182bab09913f601a","impliedFormat":1},{"version":"c7955947ce91ad5136e10de70a62b2b1f6cb9bf063cd6e2914bbcf63c13db849","impliedFormat":1},{"version":"b6ec3b51f148919d9f7c4c76ca5439c249cb73d67e39f4299e39df04f56e283c","impliedFormat":1},{"version":"ff9f5437a4560c9fcb93a2cd200a95ecd906af116aee5ce85acac65b5b3ef25a","impliedFormat":1},{"version":"aaed5969dc998df1d3a1f64fbd0cb328e42d253cbcece46b00231f841ca0cbef","impliedFormat":1},{"version":"eccc390fe925537cb974b0b365055c6ce0067e9891e12ef8a9ada703042046b6","impliedFormat":1},{"version":"26543cde606604bfcac98127a1ea1fcb4e5ff5e4814d9d0ae5105cdc673ca4fa","impliedFormat":1},{"version":"1a2c6a4c2c3bf96fe20918ddebb061ace5efb9042e6f9fd40752ff5deaf3efac","impliedFormat":1},{"version":"1ad327020e03e157705e4bb97852e8f6fed36410a95e60c17a1b6e83f563cc0c","impliedFormat":1},{"version":"a3a81aa1add790d2709b3ea019ffa5f50e13737bcf31703d37567a9c20b25414","impliedFormat":1},{"version":"7f699d17b35526ee8ec5a2b340599b80c43b0735add39cc6fab2eed1ef02ad5d","impliedFormat":1},{"version":"bee9484a4df09a2d46475942501a58552cdb3aa76cc40b95a9b1ace0ab8b0596","impliedFormat":1},{"version":"bf72588a01e96288ff52f6ace0854dc1b6b531deb9bd4cdd489814a24e8f5d58","impliedFormat":1},{"version":"4cd301eeb82c0038d73cec8eafd23ada94c0ec9be10d284ee63c39eb0fbb5ee7","impliedFormat":1},{"version":"de944b1760dda60f6cf7bc90fcf377c28f9ddab1a3e17d4d766965bb8b21284c","impliedFormat":1},{"version":"c902ed360686f8fda5bc06efa99862a6d3aaf7888f3aafc70db16f0445bf9967","impliedFormat":1},{"version":"84236d8d439b9e35fbef52a75b4f839d50a9a0f3c7186a6adc04a082713adfff","impliedFormat":1},{"version":"77ecb32fb920939cc27144d8d0b5b04d70df309aa43108338c84f23f495cf308","impliedFormat":1},{"version":"f00360c3f3951bda0f82362dd8de6c982b4bd72491578b9792f3b7fce82f141f","impliedFormat":1},{"version":"4a8a13b5ca694d417820da20fb6a8a488ae05b9461a9b263858339e8be404e10","impliedFormat":1},{"version":"5a4a7c2f46a4f9afd54c001d09aa4a50823055dc834e2f287761ece2c01d68b3","impliedFormat":1},{"version":"1b66942158a56dadb0a7c574d00caee3ef2fe6cc77f7445a57a53ef86a3f5102","impliedFormat":1},{"version":"654afcc651d04feb24f0f0391dcfd5ec966069f13e0f74d0e6e48f6297282115","impliedFormat":1},{"version":"ea99aa2e537966df22f8192e99929ee81719c1cf0b9d9d83d0c6fed53325ccc6","impliedFormat":1},{"version":"a289012bc5a57a1cd5b7f2b2efac7cb4f496bbad2fe6003d6b280d69a7f59a24","impliedFormat":1},{"version":"ac8e4ca89bc1f21a20deb64096603fcd15f2cddfe7d75348b430d59141a4d473","impliedFormat":1},{"version":"1c302ddf52fe9c99da6ceb580aa4828590588ed95b6f7e3c14d7c566a6ac5698","impliedFormat":1},{"version":"d4acaa07e1dcb77cf6dbeddffe3979e7a80eca75b625f227618bc4599a967639","impliedFormat":1},{"version":"1180ab4d2a99b15096f041d78eba131cd4b06da7d1d170a99b8aab9dde8dd9b9","impliedFormat":1},{"version":"f234188083de0487997d5294fbbb040d9fa46b9813c0b23fe003cb467b8af0d3","impliedFormat":1},{"version":"facb006d2e88fd55b8c2114333dd3f255c45e3f37359ec203dba0bb01bf62be7","impliedFormat":1},{"version":"dece00a01e44c449390e7c5bf9869aba715680b5aecbd16f0c5317bab8a7960f","impliedFormat":1},{"version":"ddae11d883cc0a448de2e44148cdb057b154838c5085a9db1d87d2267b7941e5","impliedFormat":1},{"version":"f6f5e5d56550e660eac2685433dd22e265336d8626ef1ec913d95a56bdd565bf","impliedFormat":1},{"version":"859ebda939d3dbb7edaf6731ada5c0259d712d3426e853df097cbdff41dab102","impliedFormat":1},{"version":"f01e365cabb33250c903fe2f4bbfeed65763f0f5bfcdaca56f908a17272b6581","impliedFormat":1},{"version":"39c791196637eb18b1b7685c307278d7518a2658116a1432769e4288abf650f0","impliedFormat":1},{"version":"31c8ed4da32414c313a2b33301c69ce0f7886a13852c057d79f8c65737dbc749","impliedFormat":1},{"version":"0c5f02c86a43a4e4be18c71d76d573ceb0f88f382d4a7074ba50cbefdfd870fb","impliedFormat":1},{"version":"7afc8dc401f19710958243663c921d3f98cd08feee99980a194ef464f0aab8eb","impliedFormat":1},{"version":"87544a5e1806f85d756ce7a57f0898e904699401eba2cc6f002c43dea8ea492a","impliedFormat":1},{"version":"1642a4c22f5ae99bac55c2e8ae67bd21c04c3f5df4e85c70f3fee2829b6e8c64","impliedFormat":1},{"version":"55eaa867abe325655d8d046e7d789771206e54e8d3f0a82f34ee5e0331625bcf","impliedFormat":1},{"version":"212d761cfb8a023f6d35b038fbc11e3d854abf7ca5831d3e20cacbd67c05180c","impliedFormat":1},{"version":"276f214cb249aead2a12ddbe631999c87338ac99e57eab4894da28bd2259c9d8","impliedFormat":1},{"version":"574102117b27a58feb69ccdd2a0be97c977568073e25aa0773dbfc3be16d96d1","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},"a61c328e964c5df2201b7e369056b3f2c113249bdbbbcfdbf5c0abd16f41a48f",{"version":"221be08fd0da7fae40d16b4af719636263bc891d703b51ebaf0c4f6055edb0dd","signature":"baed63086900526e2428fa5ed6a36904cd8d9f098fa3da5cb2c54da85bb52ff4"},"6e5903490accba38b8598005de4fe99bf35b309d27c3cb388d78fb77f36fc7ba",{"version":"af67592c85c180788f9b58eb5bee9215d528bb9f9ef8267d964b28bf321f0af9","signature":"d1253e19086234532352f2373075fccb1625d30782599a58fb17b9e2245b0e27"},{"version":"4b41a5546f376b4d21c189433cbf5440f6f9dc0fc455981fe1cdb60e2f347660","signature":"5a89faff4f9730bc9dae474541ec01086d4a28c06fb9e71c9285bed625fc2ef4"},{"version":"bb701d742addc26e7ef2484fd6788ffd1988612a493db65d0ef6271c017e7e2e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ac87614529df4bdb4ef1c42fd6e584741c68f857240f6ba83f381669ecd201d1",{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"f9713757bcdfa4d58b48c0fb249e752c94a3eee8bf4532b906094246ac49ef88","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"eab2f3179607acb3d44b2db2a76dd7d621c5039b145dc160a1ee733963f9d2f5","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[[446,452]],"options":{"composite":true,"esModuleInterop":true,"jsx":1,"jsxImportSource":"solid-js","module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[410,1],[406,2],[403,3],[353,4],[356,5],[357,5],[358,5],[359,5],[360,5],[361,5],[362,5],[363,5],[364,5],[365,5],[366,5],[367,5],[368,5],[369,5],[370,5],[371,5],[372,5],[373,5],[374,5],[375,5],[376,5],[377,5],[378,5],[379,5],[380,5],[381,5],[382,5],[384,5],[383,5],[385,5],[386,5],[387,5],[388,5],[389,5],[390,5],[391,5],[392,5],[393,5],[394,5],[395,5],[396,5],[397,5],[398,5],[399,5],[400,5],[401,5],[411,6],[402,7],[404,8],[431,9],[425,10],[354,11],[430,12],[355,13],[414,14],[415,15],[416,16],[417,17],[418,18],[413,19],[419,20],[420,21],[421,22],[423,23],[422,24],[424,25],[405,26],[412,27],[429,28],[426,29],[428,30],[427,29],[335,31],[334,32],[336,33],[350,34],[333,35],[349,36],[352,37],[351,11],[132,7],[133,7],[175,38],[174,39],[134,7],[135,7],[136,7],[137,7],[138,7],[139,7],[140,7],[149,40],[150,7],[151,11],[152,7],[153,7],[154,7],[155,7],[143,11],[156,11],[157,7],[142,41],[144,42],[141,7],[145,41],[146,42],[147,43],[173,44],[158,7],[159,42],[160,7],[161,7],[162,11],[163,7],[164,7],[165,7],[166,7],[167,7],[168,7],[169,45],[170,7],[171,7],[148,7],[172,7],[193,33],[194,33],[197,46],[196,47],[195,7],[207,48],[198,33],[200,49],[199,7],[202,50],[201,11],[203,51],[204,51],[205,52],[206,53],[284,27],[285,54],[288,55],[287,56],[289,57],[286,7],[266,58],[267,11],[297,59],[290,60],[291,11],[292,61],[293,61],[295,62],[294,61],[296,27],[282,63],[268,7],[283,64],[270,65],[269,7],[277,66],[272,67],[273,67],[278,7],[274,67],[271,7],[279,67],[276,67],[275,7],[280,7],[281,7],[319,7],[320,11],[323,68],[331,69],[324,11],[325,11],[326,11],[327,11],[328,11],[329,11],[330,11],[208,33],[209,33],[211,70],[210,7],[212,71],[214,72],[213,73],[217,74],[219,75],[218,7],[220,74],[221,74],[223,76],[215,7],[222,7],[216,11],[238,35],[242,77],[239,7],[241,7],[235,78],[234,79],[236,11],[237,7],[233,7],[240,80],[191,81],[176,7],[189,82],[190,7],[192,83],[248,7],[249,84],[246,85],[247,86],[245,87],[243,7],[244,7],[252,88],[250,11],[251,7],[181,11],[185,11],[177,11],[178,11],[179,11],[180,11],[188,89],[182,90],[183,7],[184,91],[187,11],[186,7],[338,92],[337,7],[339,11],[345,7],[340,7],[341,7],[342,7],[346,7],[348,93],[343,7],[344,7],[347,7],[314,7],[253,7],[298,94],[299,95],[300,11],[301,96],[302,11],[303,11],[304,11],[305,7],[306,94],[307,7],[309,97],[310,98],[308,7],[311,11],[312,11],[332,99],[313,11],[315,11],[316,94],[317,11],[318,11],[62,100],[63,101],[65,11],[78,102],[79,103],[76,104],[77,105],[64,11],[80,106],[83,107],[85,108],[86,109],[68,110],[87,11],[91,111],[89,112],[90,11],[84,11],[93,113],[69,114],[95,115],[96,116],[98,117],[97,118],[99,119],[94,120],[92,121],[100,122],[101,123],[105,124],[106,125],[104,126],[82,127],[70,11],[73,128],[107,129],[108,130],[109,130],[66,11],[111,131],[110,130],[131,132],[71,11],[75,133],[112,134],[113,11],[67,11],[103,135],[119,136],[118,137],[115,11],[116,138],[117,11],[114,139],[102,140],[120,141],[121,142],[122,107],[123,107],[124,143],[88,11],[126,144],[127,145],[81,11],[128,11],[129,146],[125,11],[72,147],[74,121],[130,100],[226,148],[227,149],[228,150],[224,7],[229,11],[230,11],[232,151],[231,11],[225,11],[254,11],[256,7],[255,152],[257,153],[258,154],[259,152],[260,152],[261,155],[265,156],[262,152],[263,155],[264,11],[408,157],[409,158],[407,7],[322,159],[321,11],[515,160],[516,160],[517,161],[455,162],[518,163],[519,164],[520,165],[453,11],[521,166],[522,167],[523,168],[524,169],[525,170],[526,171],[527,171],[528,172],[529,173],[530,174],[531,175],[456,11],[454,11],[532,176],[533,177],[534,178],[575,179],[535,180],[536,181],[537,180],[538,182],[539,183],[541,184],[542,185],[543,185],[544,185],[545,186],[546,187],[547,188],[548,189],[549,190],[550,191],[551,191],[552,192],[553,11],[554,11],[555,193],[556,194],[557,193],[558,195],[559,196],[560,197],[561,198],[562,199],[563,200],[564,201],[565,202],[566,203],[567,204],[568,205],[569,206],[570,207],[571,208],[572,209],[457,180],[458,11],[459,210],[460,211],[461,11],[462,212],[463,11],[506,213],[507,214],[508,215],[509,215],[510,216],[511,11],[512,163],[513,217],[514,214],[573,218],[574,219],[540,11],[60,11],[61,11],[10,11],[11,11],[13,11],[12,11],[2,11],[14,11],[15,11],[16,11],[17,11],[18,11],[19,11],[20,11],[21,11],[3,11],[22,11],[23,11],[4,11],[24,11],[28,11],[25,11],[26,11],[27,11],[29,11],[30,11],[31,11],[5,11],[32,11],[33,11],[34,11],[35,11],[6,11],[39,11],[36,11],[37,11],[38,11],[40,11],[7,11],[41,11],[46,11],[47,11],[42,11],[43,11],[44,11],[45,11],[8,11],[51,11],[48,11],[49,11],[50,11],[52,11],[9,11],[53,11],[54,11],[55,11],[57,11],[56,11],[1,11],[58,11],[59,11],[482,220],[494,221],[479,222],[495,155],[504,223],[470,224],[471,225],[469,226],[503,227],[498,228],[502,229],[473,230],[491,231],[472,232],[501,233],[467,234],[468,228],[474,235],[475,11],[481,236],[478,235],[465,237],[505,238],[496,239],[485,240],[484,235],[486,241],[489,242],[483,243],[487,244],[499,227],[476,245],[477,246],[490,247],[466,155],[493,248],[492,235],[480,246],[488,249],[497,11],[464,11],[500,250],[445,251],[435,252],[437,253],[444,254],[439,11],[440,11],[438,255],[441,256],[432,11],[433,11],[434,251],[436,257],[442,11],[443,258],[447,259],[446,260],[451,261],[450,262],[448,262],[452,263],[449,262]],"affectedFilesPendingEmit":[[447,17],[446,17],[451,17],[450,17],[448,17],[452,17],[449,17]],"emitSignatures":[446,447,448,449,450,451,452],"version":"5.9.3"} \ No newline at end of file +{"fileNames":["../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/abort-handler.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/abort.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/auth.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/identity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/response.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/command.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoint.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/feature-ids.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/logger.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/uri.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/http.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/util.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/middleware.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/auth/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/exact.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/crypto.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/checksum.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/client.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/config.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transfer.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/manager.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/pool.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/connection/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/eventStream.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/encode.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/endpoints/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/shapes.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/retry.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/retry.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/identity/index.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/pagination.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/profile.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/serde.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/traits.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/schema.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/schema/schema-deprecated.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/signature.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/stream.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/mutable.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/waiter.d.ts","../../node_modules/.pnpm/@smithy+types@4.14.1/node_modules/@smithy/types/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-host-header@3.972.10/node_modules/@aws-sdk/middleware-host-header/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/configurations.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/abort.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/auth.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/blob/blob-types.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/checksum.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/client.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/command.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/connection.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/Identity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/AnonymousIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/AwsCredentialIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/LoginIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/TokenIdentity.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/identity/index.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/util.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/credentials.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/crypto.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/dns.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/encode.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/endpoint.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/eventStream.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/function.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/http.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/logger.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/middleware.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/pagination.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/profile.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/request.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/response.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/retry.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/serde.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/shapes.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/signature.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/stream.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/token.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/transfer.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/uri.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/waiter.d.ts","../../node_modules/.pnpm/@aws-sdk+types@3.973.8/node_modules/@aws-sdk/types/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/user-agent-middleware.d.ts","../../node_modules/.pnpm/@aws-sdk+middleware-user-agent@3.972.38/node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromEnv.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getHomeDir.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getProfileName.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFilepath.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFromFile.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSharedConfigFiles.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSsoSessionData.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/parseKnownFiles.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/externalDataInterceptor.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/readFile.d.ts","../../node_modules/.pnpm/@smithy+shared-ini-file-loader@4.4.9/node_modules/@smithy/shared-ini-file-loader/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromSharedConfigFiles.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/fromStatic.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/configLoader.d.ts","../../node_modules/.pnpm/@smithy+node-config-provider@4.3.14/node_modules/@smithy/node-config-provider/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseDualstackEndpointConfigOptions.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/NodeUseFipsEndpointConfigOptions.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/resolveEndpointsConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/resolveCustomEndpointsConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/endpointsConfig/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/config.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/resolveRegionConfig.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionConfig/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/EndpointVariantTag.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/EndpointVariant.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/PartitionHash.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/RegionHash.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/getRegionInfo.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/regionInfo/index.d.ts","../../node_modules/.pnpm/@smithy+config-resolver@4.4.17/node_modules/@smithy/config-resolver/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/NODE_DISABLE_REQUEST_COMPRESSION_CONFIG_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/NODE_REQUEST_MIN_COMPRESSION_SIZE_BYTES_CONFIG_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/configurations.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/compressionMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/getCompressionPlugin.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/resolveCompressionConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-compression@4.3.46/node_modules/@smithy/middleware-compression/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/getEndpointFromInstructions.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toEndpointV1.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/adaptors/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/endpointMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/getEndpointPlugin.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/resolveEndpointRequiredConfig.d.ts","../../node_modules/.pnpm/@smithy+middleware-endpoint@4.4.32/node_modules/@smithy/middleware-endpoint/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/ConfiguredRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/DefaultRateLimiter.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/config.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/retries-2026-config.d.ts","../../node_modules/.pnpm/@smithy+util-retry@4.3.8/node_modules/@smithy/util-retry/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/types.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/StandardRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/AdaptiveRetryStrategy.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/delayDecider.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retry-pre-sra-deprecated/retryDecider.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/configurations.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/omitRetryHeadersMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/retryMiddleware.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/parseRetryAfterHeader.d.ts","../../node_modules/.pnpm/@smithy+middleware-retry@4.5.7/node_modules/@smithy/middleware-retry/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpRequest.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpResponse.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/httpHandler.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/extensions/httpExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/Field.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/Fields.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/isValidHostname.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/types.d.ts","../../node_modules/.pnpm/@smithy+protocol-http@5.3.14/node_modules/@smithy/protocol-http/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/client.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/blob/Uint8ArrayBlobAdapter.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.browser.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.browser.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/createBufferedReadable.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/getAwsChunkedEncodingStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/headStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/sdk-stream-mixin.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/splitStream.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/stream-type-check.d.ts","../../node_modules/.pnpm/@smithy+util-stream@4.5.25/node_modules/@smithy/util-stream/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/collect-stream-body.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/extended-encode-uri-component.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/deref.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/middleware/schema-middleware-types.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/middleware/getSchemaSerdePlugin.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/Schema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/ListSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/MapSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/OperationSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/operation.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/StructureSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/ErrorSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/SimpleSchema.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/sentinels.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/schema/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/event-streams/EventStreamSerde.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/event-streams/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/SerdeContext.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/HttpBindingProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/RpcProtocol.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/requestBuilder.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/resolve-path.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/FromStringShapeDeserializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeDeserializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/ToStringShapeSerializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeSerializer.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/serde/determineTimestampFormat.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/collect-stream-body.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/command.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/create-aggregated-client.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/default-error-handler.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/defaults-mode.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/emitWarningIfUnsupportedVersion.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/exceptions.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extended-encode-uri-component.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/checksum.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/retry.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/defaultExtensionConfiguration.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/extensions/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/get-array-if-single-item.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/get-value-from-text-node.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/is-serializable-header-value.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/NoOpLogger.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/object-mapping.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/resolve-path.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/ser-utils.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/serde-json.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/copyDocumentWithTransform.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/date-utils.d.ts","../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-types/v4.d.ts","../../node_modules/.pnpm/@smithy+uuid@1.1.2/node_modules/@smithy/uuid/dist-types/index.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/generateIdempotencyToken.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/lazy-json.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/parse-utils.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/quote-header.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/schema-serde-lib/schema-date-utils.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/split-every.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/split-header.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/value/NumericValue.d.ts","../../node_modules/.pnpm/@smithy+core@3.23.17/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts","../../node_modules/.pnpm/@smithy+smithy-client@4.12.13/node_modules/@smithy/smithy-client/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/SignatureV4Base.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/constants.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getCanonicalHeaders.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getCanonicalQuery.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/getPayloadHash.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/moveHeadersToQuery.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/prepareRequest.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/credentialDerivation.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/headerUtil.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/signature-v4a-container.d.ts","../../node_modules/.pnpm/@smithy+signature-v4@5.3.14/node_modules/@smithy/signature-v4/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.d.ts","../../node_modules/.pnpm/@aws-sdk+core@3.974.8/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/auth/httpAuthSchemeProvider.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/enums.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/models_0.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAlarmsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteAnomalyDetectorCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteDashboardsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DeleteMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmContributorsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmHistoryCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAlarmsForMetricCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeAnomalyDetectorsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DescribeInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DisableAlarmActionsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/DisableInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/EnableAlarmActionsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/EnableInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetDashboardCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetInsightRuleReportCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricDataCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricStatisticsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetMetricWidgetImageCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/GetOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListAlarmMuteRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListDashboardsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListManagedInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListMetricsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/ListTagsForResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutAlarmMuteRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutAnomalyDetectorCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutCompositeAlarmCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutDashboardCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutInsightRuleCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutManagedInsightRulesCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricAlarmCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricDataCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/PutMetricStreamCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/SetAlarmStateCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StartOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopMetricStreamsCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/StopOTelEnrichmentCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/TagResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/UntagResourceCommand.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/endpoint/EndpointParameters.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/auth/httpAuthExtensionConfiguration.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/extensionConfiguration.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/runtimeExtensions.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatchClient.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/createWaiter.d.ts","../../node_modules/.pnpm/@smithy+util-waiter@4.3.0/node_modules/@smithy/util-waiter/dist-types/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/CloudWatch.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/commands/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/schemas/schemas_0.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/Interfaces.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAlarmHistoryPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAlarmsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeAnomalyDetectorsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/DescribeInsightRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/GetMetricDataPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListAlarmMuteRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListDashboardsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListManagedInsightRulesPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListMetricsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/ListMetricStreamsPaginator.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/pagination/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/CloudWatchServiceException.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForCompositeAlarmExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/waitForAlarmMuteRuleExists.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/waiters/index.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/models/errors.d.ts","../../node_modules/.pnpm/@aws-sdk+client-cloudwatch@3.1045.0/node_modules/@aws-sdk/client-cloudwatch/dist-types/index.d.ts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialUtil.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","./src/config.ts","./src/cloudwatch.ts","./src/datadog.ts","./src/sentry.ts","./src/datadog-logs.ts","./src/datadog-init.ts","./src/index.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/compatibility/iterators.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.typedarray.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/globals.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/blob.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/domexception.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/encoding.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/events.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/utility.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/header.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/readable.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/fetch.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/formdata.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/connector.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client-stats.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/errors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-dispatcher.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/global-origin.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool-stats.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/handlers.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/balanced-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/round-robin-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/h2c-client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-call-history.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-client.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-pool.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/snapshot-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/mock-errors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/env-http-proxy-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-handler.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/retry-agent.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/api.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache-interceptor.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/interceptors.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/util.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cookies.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/patch.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/websocket.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/eventsource.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/diagnostics-channel.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/content-type.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/cache.d.ts","../../node_modules/.pnpm/undici-types@7.19.2/node_modules/undici-types/index.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/fetch.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/importmeta.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/messaging.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/navigator.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/performance.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/storage.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/streams.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/web-globals/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/assert/strict.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/async_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/buffer.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/child_process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/cluster.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/console.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/constants.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/crypto.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dgram.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/dns/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/domain.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/fs/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/http2.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/https.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector.generated.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/inspector/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/module.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/net.d.ts","../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/os.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/posix.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/path/win32.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/perf_hooks.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/process.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/punycode.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/querystring.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/quic.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/readline/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/repl.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sea.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/sqlite.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/consumers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/stream/web.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/string_decoder.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/test/reporters.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/timers/promises.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tls.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/trace_events.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/tty.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/url.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/util/types.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/v8.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/vm.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/wasi.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/worker_threads.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/zlib.d.ts","../../node_modules/.pnpm/@types+node@25.6.0/node_modules/@types/node/index.d.ts"],"fileIdsList":[[131,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,406,409,455,518,526,530,533,535,536,537,550],[131,132,175,207,214,223,242,252,332,353,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,405,455,518,526,530,533,535,536,537,550],[131,353,455,518,526,530,533,535,536,537,550],[131,352,406,455,518,526,530,533,535,536,537,550],[131,223,332,355,406,455,518,526,530,533,535,536,537,550],[356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,455,518,526,530,533,535,536,537,550],[131,455,518,526,530,533,535,536,537,550],[131,173,252,403,455,518,526,530,533,535,536,537,550],[354,355,402,404,405,406,410,411,412,424,425,429,430,455,518,526,530,533,535,536,537,550],[332,455,518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550],[332,355,425,455,518,526,530,533,535,536,537,550],[354,455,518,526,530,533,535,536,537,550],[131,363,413,455,518,526,530,533,535,536,537,550],[131,364,413,455,518,526,530,533,535,536,537,550],[131,366,413,455,518,526,530,533,535,536,537,550],[131,367,413,455,518,526,530,533,535,536,537,550],[131,375,413,455,518,526,530,533,535,536,537,550],[131,406,455,518,526,530,533,535,536,537,550],[131,380,413,455,518,526,530,533,535,536,537,550],[131,381,413,455,518,526,530,533,535,536,537,550],[131,382,413,455,518,526,530,533,535,536,537,550],[131,384,413,455,518,526,530,533,535,536,537,550],[131,383,413,455,518,526,530,533,535,536,537,550],[413,414,415,416,417,418,419,420,421,422,423,455,518,526,530,533,535,536,537,550],[404,455,518,526,530,533,535,536,537,550],[131,283,455,518,526,530,533,535,536,537,550],[426,427,428,455,518,526,530,533,535,536,537,550],[364,406,409,425,455,518,526,530,533,535,536,537,550],[372,406,409,425,455,518,526,530,533,535,536,537,550],[131,334,455,518,526,530,533,535,536,537,550],[131,333,455,518,526,530,533,535,536,537,550],[192,455,518,526,530,533,535,536,537,550],[333,334,335,336,349,455,518,526,530,533,535,536,537,550],[131,192,455,518,526,530,533,535,536,537,550],[131,173,348,455,518,526,530,533,535,536,537,550],[350,351,455,518,526,530,533,535,536,537,550],[133,174,455,518,526,530,533,535,536,537,550],[131,133,173,455,518,526,530,533,535,536,537,550],[131,147,148,455,518,526,530,533,535,536,537,550],[141,455,518,526,530,533,535,536,537,550],[131,143,455,518,526,530,533,535,536,537,550],[141,142,144,145,146,455,518,526,530,533,535,536,537,550],[134,135,136,137,138,139,140,143,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,455,518,526,530,533,535,536,537,550],[147,148,455,518,526,530,533,535,536,537,550],[193,194,195,196,455,518,526,530,533,535,536,537,550],[131,195,455,518,526,530,533,535,536,537,550],[197,200,206,455,518,526,530,533,535,536,537,550],[198,199,455,518,526,530,533,535,536,537,550],[201,455,518,526,530,533,535,536,537,550],[202,455,518,526,530,533,535,536,537,550],[131,203,204,455,518,526,530,533,535,536,537,550],[203,204,205,455,518,526,530,533,535,536,537,550],[284,455,518,526,530,533,535,536,537,550],[131,252,283,287,455,518,526,530,533,535,536,537,550],[131,283,285,286,455,518,526,530,533,535,536,537,550],[131,283,287,455,518,526,530,533,535,536,537,550],[131,265,455,518,526,530,533,535,536,537,550],[266,267,286,287,288,289,290,291,292,293,294,295,296,455,518,526,530,533,535,536,537,550],[131,252,455,518,526,530,533,535,536,537,550],[131,286,455,518,526,530,533,535,536,537,550],[131,294,455,518,526,530,533,535,536,537,550],[131,277,455,518,526,530,533,535,536,537,550],[268,270,271,272,273,274,275,276,277,278,279,280,281,282,455,518,526,530,533,535,536,537,550],[131,269,455,518,526,530,533,535,536,537,550],[131,276,455,518,526,530,533,535,536,537,550],[131,271,455,518,526,530,533,535,536,537,550],[322,455,518,526,530,533,535,536,537,550],[319,320,323,324,325,326,327,328,329,330,455,518,526,530,533,535,536,537,550],[131,210,455,518,526,530,533,535,536,537,550],[131,210,211,455,518,526,530,533,535,536,537,550],[208,209,210,211,212,213,455,518,526,530,533,535,536,537,550],[210,455,518,526,530,533,535,536,537,550],[131,215,216,455,518,526,530,533,535,536,537,550],[217,218,455,518,526,530,533,535,536,537,550],[215,216,219,220,221,222,455,518,526,530,533,535,536,537,550],[234,235,236,237,238,239,240,241,455,518,526,530,533,535,536,537,550],[131,232,234,455,518,526,530,533,535,536,537,550],[131,233,455,518,526,530,533,535,536,537,550],[131,238,455,518,526,530,533,535,536,537,550],[131,176,189,190,455,518,526,530,533,535,536,537,550],[131,188,455,518,526,530,533,535,536,537,550],[176,189,190,191,455,518,526,530,533,535,536,537,550],[131,248,455,518,526,530,533,535,536,537,550],[245,455,518,526,530,533,535,536,537,550],[246,455,518,526,530,533,535,536,537,550],[131,243,244,455,518,526,530,533,535,536,537,550],[243,244,245,247,248,249,250,251,455,518,526,530,533,535,536,537,550],[177,178,179,180,182,183,184,185,186,187,455,518,526,530,533,535,536,537,550],[131,181,455,518,526,530,533,535,536,537,550],[131,182,455,518,526,530,533,535,536,537,550],[131,337,455,518,526,530,533,535,536,537,550],[337,338,339,340,341,342,343,344,345,346,347,455,518,526,530,533,535,536,537,550],[297,455,518,526,530,533,535,536,537,550],[131,223,455,518,526,530,533,535,536,537,550],[253,455,518,526,530,533,535,536,537,550],[131,307,308,455,518,526,530,533,535,536,537,550],[309,455,518,526,530,533,535,536,537,550],[131,253,298,299,300,301,302,303,304,305,306,310,311,312,313,314,315,316,317,318,331,455,518,526,530,533,535,536,537,550],[63,455,518,526,530,533,535,536,537,550],[62,455,518,526,530,533,535,536,537,550],[66,75,76,77,455,518,526,530,533,535,536,537,550],[75,78,455,518,526,530,533,535,536,537,550],[66,73,455,518,526,530,533,535,536,537,550],[66,78,455,518,526,530,533,535,536,537,550],[64,65,76,77,78,79,455,518,526,530,533,535,536,537,550],[82,455,518,526,530,533,535,536,537,550,555],[84,455,518,526,530,533,535,536,537,550],[67,68,74,75,455,518,526,530,533,535,536,537,550],[67,75,455,518,526,530,533,535,536,537,550],[87,89,90,455,518,526,530,533,535,536,537,550],[87,88,455,518,526,530,533,535,536,537,550],[92,455,518,526,530,533,535,536,537,550],[64,455,518,526,530,533,535,536,537,550],[69,94,455,518,526,530,533,535,536,537,550],[94,455,518,526,530,533,535,536,537,550],[97,455,518,526,530,533,535,536,537,550],[94,95,96,455,518,526,530,533,535,536,537,550],[94,95,96,97,98,455,518,526,530,533,535,536,537,550],[71,455,518,526,530,533,535,536,537,550],[67,73,75,455,518,526,530,533,535,536,537,550],[84,85,455,518,526,530,533,535,536,537,550],[100,455,518,526,530,533,535,536,537,550],[100,104,455,518,526,530,533,535,536,537,550],[100,101,104,105,455,518,526,530,533,535,536,537,550],[74,103,455,518,526,530,533,535,536,537,550],[81,455,518,526,530,533,535,536,537,550],[63,72,455,518,526,530,533,535,536,537,550],[71,73,455,518,526,530,532,533,534,535,536,537,550],[66,455,518,526,530,533,535,536,537,550],[66,108,109,110,455,518,526,530,533,535,536,537,550],[63,67,68,69,70,71,72,73,74,75,80,83,84,85,86,88,91,92,93,99,102,103,106,107,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,127,128,129,130,455,518,526,530,533,535,536,537,550],[64,68,69,70,71,74,78,455,518,526,530,533,535,536,537,550],[68,86,455,518,526,530,533,535,536,537,550],[102,455,518,526,530,533,535,536,537,550],[67,69,75,114,116,118,455,518,526,530,533,535,536,537,550],[67,69,75,114,115,116,117,455,518,526,530,533,535,536,537,550],[118,455,518,526,530,533,535,536,537,550],[73,74,88,118,455,518,526,530,533,535,536,537,550],[67,73,455,518,526,530,533,535,536,537,550],[73,92,109,455,518,526,530,533,535,536,537,550],[74,84,85,455,518,526,530,533,535,536,537,550],[82,114,455,518,526,530,532,533,535,536,537,550,555],[67,68,124,125,455,518,526,530,533,535,536,537,550],[68,73,86,114,123,124,125,126,455,518,526,530,532,533,535,536,537,550],[68,86,102,455,518,526,530,533,535,536,537,550],[73,455,518,526,530,533,535,536,537,550],[131,224,225,455,518,526,530,533,535,536,537,550],[131,224,455,518,526,530,533,535,536,537,550],[225,455,518,526,530,533,535,536,537,550],[224,225,226,227,228,229,230,231,455,518,526,530,533,535,536,537,550],[131,455,518,526,530,533,535,536,537,550,555],[256,455,518,526,530,533,535,536,537,550],[255,257,455,518,526,530,533,535,536,537,550,555],[455,518,526,530,533,535,536,537,550,555],[254,255,258,259,260,261,262,263,264,455,518,526,530,533,535,536,537,550],[407,455,518,526,530,533,535,536,537,550],[407,408,455,518,526,530,533,535,536,537,550],[321,455,518,526,530,533,535,536,537,550],[455,515,516,518,526,530,533,535,536,537,550],[455,517,518,526,530,533,535,536,537,550],[518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,558],[455,518,519,524,526,529,530,533,535,536,537,539,550,555,567],[455,518,519,520,526,529,530,533,535,536,537,550],[455,518,521,526,530,533,535,536,537,550,568],[455,518,522,523,526,530,533,535,536,537,541,550],[455,518,523,526,530,533,535,536,537,550,555,564],[455,518,524,526,529,530,533,535,536,537,539,550],[455,517,518,525,526,530,533,535,536,537,550],[455,518,526,527,530,533,535,536,537,550],[455,518,526,528,529,530,533,535,536,537,550],[455,517,518,526,529,530,533,535,536,537,550],[455,518,526,529,530,531,533,535,536,537,550,555,567],[455,518,526,529,530,531,533,535,536,537,550,555,558],[455,505,518,526,529,530,532,533,535,536,537,539,550,555,567],[455,518,526,529,530,532,533,535,536,537,539,550,555,564,567],[455,518,526,530,532,533,534,535,536,537,550,555,564,567],[453,454,455,456,457,458,459,460,461,462,463,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[455,518,526,529,530,533,535,536,537,550],[455,518,526,530,533,535,537,550],[455,518,526,530,533,535,536,537,538,550,567],[455,518,526,529,530,533,535,536,537,539,550,555],[455,518,526,530,533,535,536,537,541,550],[455,518,526,530,533,535,536,537,542,550],[455,518,526,529,530,533,535,536,537,545,550],[455,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574],[455,518,526,530,533,535,536,537,547,550],[455,518,526,530,533,535,536,537,548,550],[455,518,523,526,530,533,535,536,537,539,550,558],[455,518,526,529,530,533,535,536,537,550,551],[455,518,526,530,533,535,536,537,550,552,568,571],[455,518,526,529,530,533,535,536,537,550,555,557,558],[455,518,526,530,533,535,536,537,550,556,558],[455,518,526,530,533,535,536,537,550,558,568],[455,518,526,530,533,535,536,537,550,559],[455,515,518,526,530,533,535,536,537,550,555,561,567],[455,518,526,530,533,535,536,537,550,555,560],[455,518,526,529,530,533,535,536,537,550,562,563],[455,518,526,530,533,535,536,537,550,562,563],[455,518,523,526,530,533,535,536,537,539,550,555,564],[455,518,526,530,533,535,536,537,550,565],[455,518,526,530,533,535,536,537,539,550,566],[455,518,526,530,532,533,535,536,537,548,550,567],[455,518,526,530,533,535,536,537,550,568,569],[455,518,523,526,530,533,535,536,537,550,569],[455,518,526,530,533,535,536,537,550,555,570],[455,518,526,530,533,535,536,537,538,550,571],[455,518,526,530,533,535,536,537,550,572],[455,518,521,526,530,533,535,536,537,550],[455,518,523,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,568],[455,505,518,526,530,533,535,536,537,550],[455,518,526,530,533,535,536,537,550,567],[455,518,526,530,533,535,536,537,550,573],[455,518,526,530,533,535,536,537,545,550],[455,518,526,530,533,535,536,537,550,563],[455,505,518,526,529,530,531,533,535,536,537,545,550,555,558,567,570,571,573],[455,518,526,530,533,535,536,537,550,555,574],[455,470,473,476,477,518,526,530,533,535,536,537,550,567],[455,473,518,526,530,533,535,536,537,550,555,567],[455,473,477,518,526,530,533,535,536,537,550,567],[455,467,518,526,530,533,535,536,537,550],[455,471,518,526,530,533,535,536,537,550],[455,469,470,473,518,526,530,533,535,536,537,550,567],[455,518,526,530,533,535,536,537,539,550,564],[455,518,526,530,533,535,536,537,550,575],[455,467,518,526,530,533,535,536,537,550,575],[455,469,473,518,526,530,533,535,536,537,539,550,567],[455,464,465,466,468,472,518,526,529,530,533,535,536,537,550,555,567],[455,473,482,490,518,526,530,533,535,536,537,550],[455,465,471,518,526,530,533,535,536,537,550],[455,473,499,500,518,526,530,533,535,536,537,550],[455,465,468,473,518,526,530,533,535,536,537,550,558,567,575],[455,473,518,526,530,533,535,536,537,550],[455,469,473,518,526,530,533,535,536,537,550,567],[455,464,518,526,530,533,535,536,537,550],[455,467,468,469,471,472,473,474,475,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,500,501,502,503,504,518,526,530,533,535,536,537,550],[455,473,492,495,518,526,530,533,535,536,537,550],[455,473,482,483,484,518,526,530,533,535,536,537,550],[455,471,473,483,485,518,526,530,533,535,536,537,550],[455,472,518,526,530,533,535,536,537,550],[455,465,467,473,518,526,530,533,535,536,537,550],[455,473,477,483,485,518,526,530,533,535,536,537,550],[455,477,518,526,530,533,535,536,537,550],[455,471,473,476,518,526,530,533,535,536,537,550,567],[455,465,469,473,482,518,526,530,533,535,536,537,550],[455,473,492,518,526,530,533,535,536,537,550],[455,485,518,526,530,533,535,536,537,550],[455,467,473,499,518,526,530,533,535,536,537,550,558,573,575],[444,455,518,526,530,533,535,536,537,550],[432,433,434,455,518,526,530,533,535,536,537,550],[435,436,455,518,526,530,533,535,536,537,550],[432,433,435,437,438,443,455,518,526,530,533,535,536,537,550],[433,435,455,518,526,530,533,535,536,537,550],[443,455,518,526,530,533,535,536,537,550],[435,455,518,526,530,533,535,536,537,550],[432,433,435,438,439,440,441,442,455,518,526,530,533,535,536,537,550],[431,446,455,518,526,530,533,535,536,537,550],[445,455,518,526,530,533,535,536,537,550],[446,448,449,450,455,518,526,530,533,535,536,537,550],[446,455,518,526,530,533,535,536,537,550],[446,447,448,449,450,455,518,526,530,533,535,536,537,550]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","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":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","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":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","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":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b40885a4e39fb67eb251fb009bf990f3571ccf7279dccad26c2261b4e5c8ebcd","impliedFormat":1},{"version":"2d0e63718a9ab15554cca1ef458a269ff938aea2ad379990a018a49e27aadf40","impliedFormat":1},{"version":"530e5c7e4f74267b7800f1702cf0c576282296a960acbdb2960389b2b1d0875b","impliedFormat":1},{"version":"1c483cc60a58a0d4c9a068bdaa8d95933263e6017fbea33c9f99790cf870f0a8","impliedFormat":1},{"version":"07863eea4f350458f803714350e43947f7f73d1d67a9ddf747017065d36b073a","impliedFormat":1},{"version":"396c2c14fa408707235d761a965bd84ce3d4fc3117c3b9f1404d6987d98a30d6","impliedFormat":1},{"version":"0c46e15efeb2ff6db7c6830c801204e1048ccf0c8cc9ab1556b0b95832c9d1c9","impliedFormat":1},{"version":"c475aa6e8f0a20c76b5684658e0adaf7e1ba275a088ee6a5641e1f7fe9130b8a","impliedFormat":1},{"version":"a42db31dacd0fa00d7b13608396ca4c9a5494ae794ad142e9fb4aa6597e5ca54","impliedFormat":1},{"version":"4d2b263907b8c03c5b2df90e6c1f166e9da85bd87bf439683f150afc91fce7e7","impliedFormat":1},{"version":"db6eec0bf471520d5de8037e42a77349c920061fb0eb82d7dc8917262cbf0f17","impliedFormat":1},{"version":"13c83c04f3cbd2da8276c6290b75f295edf309b4f907f667f1b775d5f048f47e","impliedFormat":1},{"version":"ca70001e8ea975754a3994379faca469a99f81d00e1ff5b95cabac5e993359aa","impliedFormat":1},{"version":"d6fa1d345cf72ead5f57dd2561136b7d09b774891d81822087499b41b3f04913","impliedFormat":1},{"version":"3bdc578841f58bfd1087e14f81394ece5efd56b953362ef100bdd5bd179cd625","impliedFormat":1},{"version":"2bc15addade46dc6480df2817c6761d84794c67819b81e9880ab5ce82afb1289","impliedFormat":1},{"version":"247d6e003639b4106281694e58aa359613b4a102b02906c277e650269eaecede","impliedFormat":1},{"version":"fe37c7dc4acc6be457da7c271485fcd531f619d1e0bfb7df6a47d00fca76f19c","impliedFormat":1},{"version":"159af954f2633a12fdee68605009e7e5b150dbeb6d70c46672fd41059c154d53","impliedFormat":1},{"version":"a1b36a1f91a54daf2e89e12b834fa41fb7338bc044d1f08a80817efc93c99ee5","impliedFormat":1},{"version":"8bb4a5b632dd5a868f3271750895cb61b0e20cff82032d87e89288faee8dd6e2","impliedFormat":1},{"version":"2a3e6dfb299953d5c8ba2aca69d61021bd6da24acea3d301c5fa1d6492fcb0ec","impliedFormat":1},{"version":"017de6fdabea79015d493bf71e56cbbff092525253c1d76003b3d58280cd82a0","impliedFormat":1},{"version":"cf94e5027dd533d4ee448b6076be91bc4186d70f9dc27fac3f3db58f1285d0be","impliedFormat":1},{"version":"74293f7ca4a5ddf3dab767560f1ac03f500d43352b62953964bf73ee8e235d3d","impliedFormat":1},{"version":"06921a4f3da17bed5d4bc6316658ce0ea7532658a5fc575a24aa07034c1b0d3d","impliedFormat":1},{"version":"90ee466f5028251945ee737787ee5e920ee447122792ad3c68243f15efa08414","impliedFormat":1},{"version":"34c17533b08bd962570d7bdb838fcaf5bcf7b913c903bc9241b0696a635b8115","impliedFormat":1},{"version":"1d567a058fe33c75604d2f973f5f10010131ab2b46cf5dddd2f7f5ee64928f07","impliedFormat":1},{"version":"5af5ebe8c9b84f667cd047cfcf1942d53e3b369dbd63fbea2a189bbf381146c6","impliedFormat":1},{"version":"5e126f7796301203e1d1048c1e5709ff9251f872a19f5ac0ee1f375d8128ef9b","impliedFormat":1},{"version":"147734cfd0973548fb6ef75d1e7d2c0b56bb59aad72b280784e811d914dc47d6","impliedFormat":1},{"version":"d2594d95d465026ebbee361f4819dc7b3146f4a8b42091ffb5dd90f9ceb345ab","impliedFormat":1},{"version":"e399d54c1b272a400ed446ca35d5e43d6b820723c2e5727b188ebea261e7cc2e","impliedFormat":1},{"version":"123568587c36c9f2a75091d8cdf8f287193855ba5aa10797b4fc320c80920b7f","impliedFormat":1},{"version":"6deffa531bdb8817b363505e88d957653d0c454f42c69e31588d00102cd1a076","impliedFormat":1},{"version":"973551068756351486afe706b240eb4dc83678ab2d829a1c6b1a19871394fd5f","impliedFormat":1},{"version":"e647d13de80e1b6b4e1d94363ea6f5f8f77dfb95d562748b488a7248af25aabf","impliedFormat":1},{"version":"9b7b0209a8841f5ffa60ccdfae26f7dc70ea4e7e446a603ef4732e84f1bb1b4f","impliedFormat":1},{"version":"5edc4b81a61ea5e0319b32d8f581d9643cb747cf44477b16af048f62d358c433","impliedFormat":1},{"version":"d47c9f84b00def208cbfdd820f8d10425ead9dbf36350d77fb55d5ef6857dabc","impliedFormat":1},{"version":"3bc5f767d5e0cd548c92e4623e0a7f4486889a72d2ca9cbc81df760669270dcc","impliedFormat":1},{"version":"20cf19c8028a7b958e9c2000281d0f4c4cd12502fef7d63b088d44647cdd607b","impliedFormat":1},{"version":"799780c3726407eaa2e09e709c376ec459582f6f9c41d9643f863580cecf7ff8","impliedFormat":1},{"version":"37280465f8f9b2ea21d490979952b18b7f4d1f0d8fab2d627618fb2cfa1828e3","impliedFormat":1},{"version":"52e29afa525973fc7cff28c4b6b359d91ad030d4aa198f060f813d4abcadb099","affectsGlobalScope":true,"impliedFormat":1},{"version":"a890cccdc380629c6cd9e9d92fff4ca69b9adddde84cc503296ada99429b5a3b","impliedFormat":1},{"version":"168b6da36cf7b832173d7832e017bc6c6c7b4023bf6b2de293efb991b96bca44","impliedFormat":1},{"version":"05b39d7219bb2f55f865bca39a3772e1c0a396ea562967929d6b666560c85617","impliedFormat":1},{"version":"bcae62618c23047e36d373f0feac5b13f09689e4cd08e788af13271dbe73a139","impliedFormat":1},{"version":"2c49c6d7da43f6d21e2ca035721c31b642ebf12a1e5e64cbf25f9e2d54723c36","impliedFormat":1},{"version":"5ae003688265a1547bbcb344bf0e26cb994149ac2c032756718e9039302dfac8","impliedFormat":1},{"version":"e1744dbace6ba2051a32da3c6b40e0fc690810a87b9ad4a1925b59f8f7157a34","impliedFormat":1},{"version":"ba8a615335e3dfdf0773558357f15edfff0461db9aa0aef99c6b60ebd7c40344","impliedFormat":1},{"version":"6921769648e4b83bb10e8fcf7011ea2d8f7de5d056daacf661648935a407376e","impliedFormat":1},{"version":"dd21167f276d648aa8a6d0aacd796e205d822406a51420b7d7f5aa18a6d9d6d9","impliedFormat":1},{"version":"3dea56c1745af2c31af0c84ecc6082044dc14cfa4d7366251e5bf91693eecd8b","impliedFormat":1},{"version":"eb6360635bc14b96a243bd5134e471f3ad26b0ecaf52d9d28621e443edb56e5c","impliedFormat":1},{"version":"3ad73b5b1d43cb8ba3975b2999396e10bf3ed015b3337876079caf07f22501d9","impliedFormat":1},{"version":"62a64260ea1dada7d643377c1a0ef3495363f4cca36adf7345e8566e7d7f419b","impliedFormat":1},{"version":"8b15e8af2fc862870418d0a082a9da2c2511b962844874cf3c2bad6b2763ca10","impliedFormat":1},{"version":"3d399835c3b3626e8e00fefc37868efe23dbb660cce8742486347ad29d334edd","impliedFormat":1},{"version":"b262699ba3cc0cae81dae0d9ff1262accf9832b2b7ee6548c626d74076bff8fe","impliedFormat":1},{"version":"057cac07c7bc5abdcfba44325fcea4906dff7919a3d7d82d4ec40f8b4c90cf2f","impliedFormat":1},{"version":"d94034601782f828aa556791279c86c37f09f7034a2ab873eefe136f77a6046b","impliedFormat":1},{"version":"fd25b101370ee175be080544387c4f29c137d4e23cad4de6c40c044bed6ecf99","impliedFormat":1},{"version":"8175f51ec284200f7bd403cb353d578e49a719e80416c18e9a12ebf2c4021b2b","impliedFormat":1},{"version":"e3acb4eb63b7fc659d7c2ac476140f7c85842a516b98d0e8698ba81650a1abd4","impliedFormat":1},{"version":"04d4c47854061cc5cefc3089f38e006375ae283c559ab2ce00763bca2e49516b","impliedFormat":1},{"version":"6a2146116c2fa9ca4fefa5c1d3de821462fc22e5330cda1196be15d439728c51","impliedFormat":1},{"version":"b30cc18b84468d3fa20ac04ca5ba9bed5a03431fc8a22bcf2c266c132baa1d3f","impliedFormat":1},{"version":"a9452e81c28c642c2f095844c3473d979eba5ae89726ad52b15ea86b3e112ee2","impliedFormat":1},{"version":"a54f60678f44415d01a810ca27244e04b4dde3d9b6d9492874262f1a95e56c7d","impliedFormat":1},{"version":"84058607d19ac1fdef225a04832d7480478808c094cbaedbceda150fa87c7e25","impliedFormat":1},{"version":"27abd2f2ed5aaac951b12b8332aac7970c9cf0cfd88c458f0f016228180b4293","impliedFormat":1},{"version":"901c640dced9243875645e850705362cb0a9a7f2eea1a82bb95ed53d162f38dd","impliedFormat":1},{"version":"ebb0d92294fe20f62a07925ce590a93012d6323a6c77ddce92b7743fa1e9dd20","impliedFormat":1},{"version":"b499f398b4405b9f073b99ad853e47a6394ae6e1b7397c5d2f19c23a4081f213","impliedFormat":1},{"version":"ef2cbb05dee40c0167de4e459b9da523844707ab4b3b32e40090c649ad5616e9","impliedFormat":1},{"version":"068a22b89ecc0bed7182e79724a3d4d3d05daacfe3b6e6d3fd2fa3d063d94f44","impliedFormat":1},{"version":"e70d18d1352550a028f48d74e126a919c830267b38c76ddae4dc1571476a462a","impliedFormat":1},{"version":"5624b09ca38ea604954f0422a9354e79ada3100305362a0da79555b3dd86f578","impliedFormat":1},{"version":"24830e279f5773a4108e0cbde02bdcb6c20b1d347ff1509f63eed031bf8b3190","impliedFormat":1},{"version":"8899fd9f8ab5ce2b3af7ba0e1a47eede6a2a30a269283cc4a934ab755d0aadaa","impliedFormat":1},{"version":"f10759ece76e17645f840c7136b99cf9a2159b3eabf58e3eac9904cadc22eee5","impliedFormat":1},{"version":"363dd28f6a218239fbd45bbcc37202ad6a9a40b533b3e208e030137fa8037b03","impliedFormat":1},{"version":"c6986e90cf95cf639f7f55d8ca49c7aaf0d561d47e6d70ab6879e40f73518c8d","impliedFormat":1},{"version":"224d293a02b7d22edb77b4ab89c0d4f63b95ecd7c0698776719f33863a77ffdc","impliedFormat":1},{"version":"1518707348d7bd6154e30d49487ba92d47b6bd9a32d320cd8e602b59700b5317","impliedFormat":1},{"version":"ede55f9bac348427d5b32a45ad7a24cc6297354289076d50c68f1692add61bce","impliedFormat":1},{"version":"d53a7e00791305f0bd04ea6e4d7ea9850ccc3538877f070f55308b3222f0a793","impliedFormat":1},{"version":"4ea5b45c6693288bb66b2007041a950a9d2fe765e376738377ba445950e927f6","impliedFormat":1},{"version":"7f25e826bfabe77a159a5fec52af069c13378d0a09d2712c6373ff904ba55d4b","impliedFormat":1},{"version":"7ffef1ed1c2bc7d9cf2fc134a7e8c68b10416cdbe8e70da8a4bd7ad5c8698d9c","impliedFormat":1},{"version":"63c0926fcd1c3d6d9456f73ab17a6affcdfc41f7a0fa5971428a57e9ea5cf9e0","impliedFormat":1},{"version":"eb524eabfa1809d54dd289374c0ce0ed4f145abb878687e4fd5e67f91d7d08a6","impliedFormat":1},{"version":"4ef0a17c5bcae3d68227136b562a4d54a4db18cfa058354e52a9ac167d275bbb","impliedFormat":1},{"version":"b748dd4ccc072a2b7194b898dc8996a2cb56bfa15ccdb60ac0d2f9eaa8e28e9d","impliedFormat":1},{"version":"64269ed536e2647e12239481e8287509f9ee029cbb11169793796519cc37ecd4","impliedFormat":1},{"version":"c06fd8688dd064796b41170733bba3dcacfaf7e711045859364f4f778263fc7b","impliedFormat":1},{"version":"b0a8bf71fea54a788588c181c0bffbdd2c49904075a7c9cb8c98a3106ad6aa6d","impliedFormat":1},{"version":"434c5a40f2d5defeede46ae03fb07ed8b8c1d65e10412abd700291b24953c578","impliedFormat":1},{"version":"c5a6184688526f9cf53e3c9f216beb2123165bfa1ffcbfc7b1c3a925d031abf7","impliedFormat":1},{"version":"cd548f9fcd3cebe99b5ba91ae0ec61c3eae50bed9bc3cfd29d42dcfc201b68b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"14a8ec10f9faf6e0baff58391578250a51e19d2e14abcc6fc239edb0fb4df7c5","impliedFormat":1},{"version":"81b0cf8cd66ae6736fd5496c5bbb9e19759713e29c9ed414b00350bd13d89d70","impliedFormat":1},{"version":"4992afbc8b2cb81e0053d989514a87d1e6c68cc7dedfe71f4b6e1ba35e29b77a","impliedFormat":1},{"version":"1810b0b14614e53075d4d1b3e6be512bde19b1ed3a287925c0d24bae8585fa1b","impliedFormat":1},{"version":"1c390420d6e444195fd814cb9dc2d9ca65e86eb2df9c1e14ff328098e1dc48ae","impliedFormat":1},{"version":"ec8b45e83323be47c740f3b573760a6f444964d19bbe20d34e3bca4b0304b3ad","impliedFormat":1},{"version":"ab8b86168ceb965a16e6fc39989b601c0857e1fd3fd63ff8289230163b114171","impliedFormat":1},{"version":"62d2f0134c9b53d00823c0731128d446defe4f2434fb84557f4697de70a62789","impliedFormat":1},{"version":"dc4a2cf12254395c8ae3fb4c61e6fd9f7c16110be66483599f9641941416988f","impliedFormat":1},{"version":"82b4045609dc0918319f835de4f6cb6a931fd729602292921c443a732a6bb811","impliedFormat":1},{"version":"3b10140aae26eca9f0619c299921e202351c891b34e7245762e0641469864ffd","impliedFormat":1},{"version":"c0c0b22cefd1896b92d805556fcabda18720d24981b8cb74e08ffea1f73f96c2","impliedFormat":1},{"version":"ceec94a0cd2b3a121166b6bfe968a069f33974b48d9c3b45f6158e342396e6b2","impliedFormat":1},{"version":"49e35a90f8bd2aa4533286d7013d9c9ff4f1d9f2547188752c4a88c040e42885","impliedFormat":1},{"version":"3261b6d56270a3d8535f34c2fdad217cfba860d0f74f154f0a6a2031d0c8daf9","impliedFormat":1},{"version":"7eca5b6e1cd1c28637103d2b6c44e8b89035a53e515ff31ae3babc82e6c8e1f9","impliedFormat":1},{"version":"49c9c8316d59f6175e6e0439b1d5ef1218f02ce622d1a599449de30645559eed","impliedFormat":1},{"version":"e4c48be0ffac936fb60b19394739847145674582cbc7e24000d9fd35ab037365","impliedFormat":1},{"version":"215de2c70639abaf351b8ff69041e44a767ecffc5e8d2ac13ca3f201853fa1fb","impliedFormat":1},{"version":"d228c7773484140fac7286c9ca4f0e04db4a62acb792a606a2dda24bef70dc21","impliedFormat":1},{"version":"8e464886b1ff36711539ffa15ec2482472220271100768c1d98acfdf355a23ba","impliedFormat":1},{"version":"fb0135c4906ff44d3064feebd84bae323ebb7b59b8ce7053d34e7283d27c9076","impliedFormat":1},{"version":"178c8707a575baddc8f529a6dbd5d574a090e3498b2d525753db7938c74227c3","impliedFormat":1},{"version":"ae81e464a7db70637d07b93582b051487c7d119ac7e1bab1b1582a96e631b3f7","impliedFormat":1},{"version":"148634fcee440c7bd8c1339b97455aaadc196b0229ffc8dc8b85965a7d65b380","impliedFormat":1},{"version":"d3c60c4cf88594f84f7f5ca5f87d59090787bfcf032e86d4f03d58394b826910","impliedFormat":1},{"version":"f3c3f17825c6a78681186da04c2f3a0f1c60cfa95f3d4b82bbbd6ebd57214a6a","impliedFormat":1},{"version":"8a2c67c55dfab4ea1f6e378cfa4b5cb60d8e8931316500f5b59c201674f6105c","impliedFormat":1},{"version":"b7b45ff1345f8e6bd6109a5b6ef0394c2e3bcbe48830516d9e78e20592ce468a","impliedFormat":1},{"version":"e5eb4863b7fc8515078dc09cd2f98fd179ff1a55216ecdc57d2dec7ce13e36c1","impliedFormat":1},{"version":"81785a3ea03d6db981ddfcf8fb1bd1377f985564def845c55e49e16f171deec4","impliedFormat":1},{"version":"537a2b61594512c5e75fad7e29d25c23922e27e5a1506eb4fce74fe858472a6e","impliedFormat":1},{"version":"8f9a2a6ddbd11ecbbc430ae8ce25528e696206f799ef1f22528569caf6ce580c","impliedFormat":1},{"version":"e05e03e1687d7f80f1569fdae117bb7b97feef1e839a61e1b3c61ffca8cc67c9","impliedFormat":1},{"version":"b311d973a0028d6bc19dfbaae891ad3f7c5057684eb105cfbeec992ab71fbc13","impliedFormat":1},{"version":"8a49e533b98d5c18a8d515cd3ae3bab9d02b6d4a9ac916e1dba9092ca0ebff15","impliedFormat":1},{"version":"fcb26ad5a6c39ce71dfac5dc16b3ed0e1a06a6dc8b9ac69112c935ad95fcad69","impliedFormat":1},{"version":"6acdef608420511aa0c9e3290b37d671bab4f719ffc2a2992c2e63a24605a657","impliedFormat":1},{"version":"291df5da0d84d1452cd68abfbcca08a3f96af610bf0e748528ba8d25784ce2b1","impliedFormat":1},{"version":"176cda558a7f76813f463a46af4607a81f10de5330c0f7a43d55982163aa0493","impliedFormat":1},{"version":"6621af294bd4af8f3f9dd9bd99bd83ed8d2facd16faa6690a5b02d305abd98ab","impliedFormat":1},{"version":"5eada4495ab95470990b51f467c78d47aecfccc42365df4b1e7e88a2952af1a3","impliedFormat":1},{"version":"03a787ed987636b10f2fbd5da79733e9f7f5178584880b4de0fb411d465628b2","impliedFormat":1},{"version":"32ca6e6484b5c008c835408020422d146f9541c32bcd8379c8def9a40a259ee7","impliedFormat":1},{"version":"98bb4ccc9d2a804771a393a0fd417b874fde4d5823ca1c223924866f83d7006e","impliedFormat":1},{"version":"55167f60c1317429ac7690825df5aebcdaa5fc491511e753eb67b380d910ce5e","impliedFormat":1},{"version":"702fd3314dbc160517d98a5e718b605512e690d1f9c08402710c0d000f3abb19","impliedFormat":1},{"version":"11a70c8187814d77f518a4ce08608fbabae76908ca3fc01e749307eac1b34e31","impliedFormat":1},{"version":"265fb36b422f49389de1a63c4393651478ffb99df22fdf30811c387d0ef5941b","impliedFormat":1},{"version":"07a9aa7f3facdfac577ed4aa0c166295d54637508942a2154566d87804a33ae2","impliedFormat":1},{"version":"4a34de405e3017bf9e153850386aacdf6d26bbcd623073d13ab3c42c2ae7314c","impliedFormat":1},{"version":"993bcd7e2dd9479781f33daab41ec297b8d6e6ccc4c8f9b629a60cc41e07e5c8","impliedFormat":1},{"version":"714a7869be4ff21fa7be0dc183569db5e6818ca22882a79d2bb3a7801f5bfab4","impliedFormat":1},{"version":"dfa99386b9a1c1803eb20df3f6d3adc9e44effc84fa7c2ab6537ed1cb5cc8cfb","impliedFormat":1},{"version":"4cb85ba4cf75f1b950bd228949ae508f229296de60cf999593e4dd776f7e84e8","impliedFormat":1},{"version":"e39730c031200579280cae4ea331ec4e0aa42f8f7ad19c3ec4b0b90414e40113","impliedFormat":1},{"version":"e90bd7922cb6d591efd7330d0ba8247ec3edf4c511b81346fd49fff5184e6935","impliedFormat":1},{"version":"1b581d7fcfacd6bbdabb2ceae32af31e59bf7ef61a2c78de1a69ca879b104168","impliedFormat":1},{"version":"20f7f9e30ac8cbf38189b3adafbd945a755a049b082f27d89d1d5d52f46818fe","impliedFormat":1},{"version":"c749b03596746c41abf1e8ed6b5a6a1bcd316c00dc39a337cc152780efc593bb","impliedFormat":1},{"version":"846953ab15b2bf3a06da6ec485be611455c5c83a02102138dd01102f3e6307de","impliedFormat":1},{"version":"218ed8ccd7078df39a26ccc59a094919d7ed1c0cd0b0182233deffda851ac3c6","impliedFormat":1},{"version":"8422f4ff58293a827a8bf401bb36f7eefbf981ae9aac48643d19c1e5439ee1bc","impliedFormat":1},{"version":"f70ab2e7bd23db437c2d5ed8690c401a921afbd5d3998a6dd2aab90d9efbaf35","impliedFormat":1},{"version":"fdda29d1f7eb83a912e34ae73f4e6e612350a7d1a496d5facc2f75487e2a1601","impliedFormat":1},{"version":"8ec6b7dc9062dd5c3c2fcc54bbf24e1e8a32b29ed902abe9192ddd0fd5f5f2a7","impliedFormat":1},{"version":"52e7386606a26e912bd39cad7752cc33009aefbb062d4a45e557c29095987095","impliedFormat":1},{"version":"3a6ce66cd39bc030697a52508cfda7c248167467848964cc40bd992bd9ce71e0","impliedFormat":1},{"version":"b4ec75c8a71c180e886ffccb4b5391a5217d7e7077038de966e2b79553850412","impliedFormat":1},{"version":"58c7522c1b1c94667777664bb9b26be14159220a28abf43e42807815e3102e14","impliedFormat":1},{"version":"d1666062675fe2f5408bfc458dec90de7279820eea20890b19484250c324b8ea","impliedFormat":1},{"version":"aed88228359e87a1b1a4d3d45f5b6555724c01ac81ecd34aa56d4a0a01ba6910","impliedFormat":1},{"version":"25307c3fd3840b5bd50bf95240a134854e80f736a4666711ea8ea40ba706eaa9","impliedFormat":1},{"version":"4fce1ce36a7f6fa69d3954cd685d27995123b683d31819218d204ca6bdcbfc53","impliedFormat":1},{"version":"a26bd8cdefaaf5a4cfe2c2f9e5b9114072f6d274ed4422eb7dcd1f72705a7eb2","impliedFormat":1},{"version":"5bbcd14f0138f4e65971ed5cb5606e8591ffefe3ac78ac310b164a975ea38f4f","impliedFormat":1},{"version":"0220b23c1c15820dcbb94eb74b8671020b53cd192a708e4d1828f290149e7e89","impliedFormat":1},{"version":"654bcc87bc095d6a2248a5889ec057b38cae6052744b48f4d2922a7efac4554f","impliedFormat":1},{"version":"cad0f26943006174f5e7508c0542873c87ef77fa71d265968e5aa1239ad4459c","impliedFormat":1},{"version":"0be66c79867b62eabb489870ba9661c60c32a5b7295cce269e07e88e7bee5bf3","impliedFormat":1},{"version":"eed82e8db4b66b1ea1746a64cd8699a7779138b8e45d495306016ce918b28440","impliedFormat":1},{"version":"3a19286bcc9303c9352c03d68bb4b63cecbf5c9b7848465847bb6c9ceafa1484","impliedFormat":1},{"version":"6cdf8f9ca64918a2f3c2679bc146d55f07490f7f5e91310b642bc1a587f2e17e","impliedFormat":1},{"version":"3b55c93b5d7a44834d9d0060ca8bad7166cf83e13ef0ed0e736da4c3dbe490a2","impliedFormat":1},{"version":"d1f8a829c5e90734bb47a1d1941b8819aeee6e81a2a772c3c0f70b30e3693fa9","impliedFormat":1},{"version":"3517c54fba6f0623919137ab4bdb3b3c16e64b8578f025b0372b99be48227ad7","impliedFormat":1},{"version":"19b3d0c212d241c237f79009b4cd0051e54971747fd89dc70a74f874d1192534","impliedFormat":1},{"version":"4adc1491e1338de6745d009222786747f50d67ac34d901420fbaefbf1b51b58c","impliedFormat":1},{"version":"4cfbd2a7a4afee212bfb0c9c3cb6e4c7d48366e0565bf5b43a4cd96c91cf14bf","impliedFormat":1},{"version":"37c175e28375e157933b40ca98eeb608e05f2583821a0fae564dc04614d2d95e","impliedFormat":1},{"version":"3f20a041a051abfb2b47a66611cf4bcbf263605f5469ed7e8b51b3977892d83f","impliedFormat":1},{"version":"7de33f94f482eee2f6d1d8f24427b737e2c4006792ec4c2b87da0a426e741c4d","impliedFormat":1},{"version":"79134a050ccec1692c31f1dacccd05ce4fcdacdf98f0fa56546b98eb8bdefead","impliedFormat":1},{"version":"24f1b6865be734484de2baf99146122137654c5f5f28086c5cee97b998bfcd5c","impliedFormat":1},{"version":"398feb1537ae0409646b0489bac99a9f0d757a2048f0009255f8e35e9c0f9828","impliedFormat":1},{"version":"3da4432a9c24123f98f6f1ddc5cda9c9eedf0a8853d06321803dbc5a116e5270","impliedFormat":1},{"version":"afc60e07200c5eae65b702f95d83096de54d99fa6eb2e0154e83b5e11c520bda","impliedFormat":1},{"version":"f4651affee2900f19746d1bf0fb1c45e77f57576197561ddc90b7272835c3f37","impliedFormat":1},{"version":"19527fc5a08c68414a234b02ae9b9619cdb4b811435d12c0af528e5640236f6b","impliedFormat":1},{"version":"20a629bc3f82d238f596230637365b8aec8284c963d13dafdd4c8e2746be5e64","impliedFormat":1},{"version":"01c48e5bf524d3fc2a3fa5c08a2e18d113ad1985bc3caea0503a4ea3a9eee64a","impliedFormat":1},{"version":"68969a0efd9030866f60c027aedbd600f66ea09e1c9290853cc24c2dcc92000f","impliedFormat":1},{"version":"4dbfad496657abd078dc75749cd7853cdc0d58f5be6dfb39f3e28be4fe7e7af5","impliedFormat":1},{"version":"348d2fe7d7b187f09ea6488ead5eae9bfbdb86742a2bad53b03dff593a7d40d1","impliedFormat":1},{"version":"becdfb07610e16293af2937e5f315a760f90a40fec4ffd76eb46ebcb0b3d6e16","impliedFormat":1},{"version":"710926665f4ada6c854b47da86b727005cc0e0831097d43f8c30727a7499788c","impliedFormat":1},{"version":"3888f0e43cd987a0dfa4fc16dd2096459deea150be49a2d30d6cf29d47801c92","impliedFormat":1},{"version":"f4300c38f9809cf811d5a9196893e91639a9e2bb6edf9a4f7e640c3c4ce765ec","impliedFormat":1},{"version":"676c3327721e3410b7387b13af857f4be96f2be91b3813a724eedc06b9ce52d7","impliedFormat":1},{"version":"10716e50bcd2a25cecf2dd993f0aadf76f12a390d2f7e91dc2cac794831e865e","impliedFormat":1},{"version":"81a8f1f6218d0acc8cd2cf8b5089d21b45cf812bb5820affe3bab058b46cba7b","impliedFormat":1},{"version":"fa69921924cf112fa523a18215a3bfb352ac3f498b46e66b879e50ca46cc9203","impliedFormat":1},{"version":"9b82a268ba0a85015cb04cd558582c7949a1b91b6761292b9360d093c18e1dd1","impliedFormat":1},{"version":"ccfb77fcac04c34442ffca82ae90c8dd2a0ec1689ace547fab9a0ae337dd4752","impliedFormat":1},{"version":"7b464488950d74ca5037da375308fc0c94a539378fd0e9554556df45483aad02","impliedFormat":1},{"version":"beebde754323e430b4ecf5b9f837a05b1667b3df86bd924b52c4f80f20b3d660","impliedFormat":1},{"version":"40eda068f71d159edc51c273a01948282d6e3d38dd2430944595d526dc4b40b9","impliedFormat":1},{"version":"c790db6044ce1bbafc46f13bde46b9f0065de155b26a199f442fe064f6b05d63","impliedFormat":1},{"version":"f405e934163ed30905b4682eb542bb2d446e59c477871be9d29f92ab474d522a","impliedFormat":1},{"version":"8294ddd1c6ea4ed9ec190a2d41500539c1623e274d5a67786d6b09849cb98d45","impliedFormat":1},{"version":"666d6d6d9f2298f8d8d17ac7a34ac9ca9a59e09fc97b1ae505df6ab4934e2dbe","impliedFormat":1},{"version":"f3941ac359b8377c0ccce596a2bd3cde8986279f42d75290b0272f3ab1aa604d","impliedFormat":1},{"version":"de3d39262355af808ff74b3df62aaad0ad3cbde76c13fb4fa6fb6e4cc817e78e","impliedFormat":1},{"version":"8c38034476af70d7ad430f69cb960c5bd6efc9962f266b39ed54dd8e9cad566c","impliedFormat":1},{"version":"757f7967151a9b1f043aba090f09c1bdb0abe54f229efd3b7a656eb6da616bf4","impliedFormat":1},{"version":"786691c952fe3feac79aca8f0e7e580d95c19afc8a4c6f8765e99fb756d8d9d7","impliedFormat":1},{"version":"734614c9c05d178ceb1acf2808e1ca7c092cf39d435efc47417d8f744f3e4c0b","impliedFormat":1},{"version":"d65a7ea85e27f032d99e183e664a92f5be67c7bc7b31940957af6beaaf696844","impliedFormat":1},{"version":"5c26ad04f6048b6433f87556619fd2e50ba6601dcdf3276c826c65681197f79d","impliedFormat":1},{"version":"9c752e91fe237ce4857fbbef141bee357821e1e50c2f33a72c6df845703c87d5","impliedFormat":1},{"version":"f926160895757a498af7715653e2aedb952c2579a7cb5cc79d7b13538f9090bd","impliedFormat":1},{"version":"255be579a134ab321af2fefb52ace369a11ffb4df09d1fbfc1ed1a43c1e5eec5","impliedFormat":1},{"version":"ab0926fedbd1f97ec02ed906cf4b1cf74093ab7458a835c3617dba60f1950ba3","impliedFormat":1},{"version":"f1a661906cd0e7fa5b049b15bdef4b20a99abca08faac457eeb2b6407f30d12f","impliedFormat":1},{"version":"7f5a6eac3d3d334e2f2eba41f659e9618c06361958762869055e22219f341554","impliedFormat":1},{"version":"626291e7b45a4b6871649c908fbbc5ac98009a5182e2594fbfe80b860f513c77","impliedFormat":1},{"version":"4093c47f69ea7acf0931095d5e01bfe1a0fa78586dbf13f4ae1142f190d82cc4","impliedFormat":1},{"version":"4fc9939c86a7d80ab6a361264e5666336d37e080a00d831d9358ad83575267da","impliedFormat":1},{"version":"f4ba385eedea4d7be1feeeac05aaa05d6741d931251a85ab48e0610271d001ce","impliedFormat":1},{"version":"348d5347f700d1e6000cbdd1198730979e65bfb7d6c12cc1adedf19f0c7f7fca","impliedFormat":1},{"version":"6fa6ceb04be38c932343d6435eb6a4054c3170829993934b013b110273fe40af","impliedFormat":1},{"version":"396e7b817fc4f5461b92f9a03325c2ebb09711aebcee5c41c5fd3e738eb78526","impliedFormat":1},{"version":"4116c4d61baab4676b52f2558f26fe9c9b5ca02c2792f9c36a577e7813029551","impliedFormat":1},{"version":"a294d0b1a9b16f85768553fdbf1d47f360dbff03649a84015c83fd3a582ba527","impliedFormat":1},{"version":"8f2644578a3273f43fd700803b89b842d2cd09c1fba2421db45737357e50f5b1","impliedFormat":1},{"version":"639f94fe145a72ce520d3d7b9b3b6c9049624d90cbf85cff46fb47fb28d1d8fe","impliedFormat":1},{"version":"8327a51d574987a2b0f61ea40df4adddf959f67bc48c303d4b33d47ba3be114a","impliedFormat":1},{"version":"00e1da5fce4ae9975f7b3ca994dcb188cf4c21aee48643e1d6d4b44e72df21ee","impliedFormat":1},{"version":"b991d92a0c3a48764edd073a5d28b6b4591ec9b7d4b2381067a57f36293637d0","impliedFormat":1},{"version":"51b4ab145645785c8ced29238192f870dbb98f1968a7c7ef2580cd40663b2940","impliedFormat":1},{"version":"100802c3378b835a3ce31f5d108de149bd152b45b555f22f50c2cafb3a962ead","impliedFormat":1},{"version":"fd4fef81d1930b60c464872e311f4f2da3586a2a398a1bdf346ffc7b8863150f","impliedFormat":1},{"version":"354f47aa8d895d523ebc47aea561b5fedb44590ac2f0eae94b56839a0f08056a","impliedFormat":1},{"version":"b152c7b474d7e084e78fa5eb610261a0bfe0810e4fd7290e848fdc88812f4504","impliedFormat":1},{"version":"67f2cd6e208e68fdfa366967d1949575df6ccf90c104fc9747b3f1bdb69ad55a","impliedFormat":1},{"version":"603395070ec53375882d53b585430e8f2dc6f77f4b381b22680d26c0a9595edc","impliedFormat":1},{"version":"cef16d87ff9aed3c5b96b47e0ac4277916c1c530f10eedfce4acaeacefddd3bb","impliedFormat":1},{"version":"fab33f402019d670257c8c833ffd78a7c9a99b4f7c23271e656cdbea1e89571f","impliedFormat":1},{"version":"976d20bb5533077a2135f456a2b48b7adb7149e78832b182066930bad94f053a","impliedFormat":1},{"version":"589713fefe7282fd008a2672c5fbacc4a94f31138bae6a03db2c7b5453dc8788","impliedFormat":1},{"version":"26f7f55345682291a8280c99bb672e386722961063c890c77120aaca462ac2f9","impliedFormat":1},{"version":"bdc2312da906d4129217238545d7e01e1d00b191beea1a9529b660de8b78834f","impliedFormat":1},{"version":"62b753ed351fba7e0f6b57103529ce90f2e11b949b8fc69c39464fe958535c25","impliedFormat":1},{"version":"514321f6616d04f0c879ac9f06374ed9cb8eac63e57147ac954e8c0e7440ce00","impliedFormat":1},{"version":"3c583256798adf31ef79fd5e51cd28a6fc764db87c105b0270214642cf1988aa","impliedFormat":1},{"version":"abdb70e24d3b39bf89aa07e769b33667c2d6f4ddcb4724735d72a941de6d4631","impliedFormat":1},{"version":"151aa7caace0a8e58772bff6e3505d06191508692d8638cd93e7ca5ecfa8cd1b","impliedFormat":1},{"version":"82f75b2de1456b0be46945c6c68547f032f11238d07db45bbc9c93fca6abfe41","impliedFormat":1},{"version":"812e55580eb591f3c04245345be8c9dce378b26238fb59d704e54a61e6e37c83","impliedFormat":1},{"version":"1de7ee494c7ac185e6abf94428afe270e98a59f1bb4768e4bea7804645a0d57d","impliedFormat":1},{"version":"2c12f912bab4b1eb797b2fded3f295fee98736f8053a08d0032becbecb4b34b1","impliedFormat":1},{"version":"5776c61de0f11da1c3cf8aafc3df524e8445201c96a7c5065a36dc74c2dc0ef6","impliedFormat":1},{"version":"94ffa91cb9f8eba1f468c5439994d4544ad24658e1192060f76267b767114445","impliedFormat":1},{"version":"7f0f90d0ffdd54875c464b940afaa0f711396f65392f20e9ffafc0af12ccbf14","impliedFormat":1},{"version":"483255952a9b6240575a67f7beb4768bd850999a32d44d2c6d0ae6dfcdafe35c","impliedFormat":1},{"version":"a1957cc53ce2402d4dc5c51b7ccc76b30581ab67bea12a030a76300be67c51d8","impliedFormat":1},{"version":"8149e534c91fc2bcb3bf59f7c1fab7584382abfc5348055e7f84d2552c3de987","impliedFormat":1},{"version":"c280ec77789efcf60ea1f6fd7159774422f588104dae9dfa438c9c921f5ab168","impliedFormat":1},{"version":"2826b3526af4f0e2c8f303e7a9a9a6bb8632e4a96fece2c787f2df286a696cea","impliedFormat":1},{"version":"77ced89806322a43991a88a9bd267d6dc9e03fd207a65e879804fa760292a03b","impliedFormat":1},{"version":"c8ff3a75cd1c990cbe56080b1d254695c989136c9521cb1252c739788fe55c83","impliedFormat":1},{"version":"485f7d76af9e2b5af78aac874b0ac5563c2ae8c0a7833f62b24d837df8561fb9","impliedFormat":1},{"version":"8bdf41d41ff195838a5f9e92e5cb3dfcdc4665bcca9882b8d2f82a370a52384e","impliedFormat":1},{"version":"2b234fce994b272403881b675d6ae2e2afb2a8be8bdec71002ff8ff2d5b59bd0","impliedFormat":1},{"version":"97ba9ccb439e5269a46562c6201063fbf6310922012fd58172304670958c21f6","impliedFormat":1},{"version":"50edac457bdc21b0c2f56e539b62b768f81b36c6199a87fbb63a89865b2348f0","impliedFormat":1},{"version":"d090654a3a57a76b5988f15b7bb7edc2cdc9c056a00985c7edd1c47a13881680","impliedFormat":1},{"version":"a941c67b12a294649226ebcb81e21b41918d2d67a79d4272a6541fb5149b0536","impliedFormat":1},{"version":"c5b59474600f80ae9b02c04edf351529cf8944369ef2d0872898e256d8506aa6","impliedFormat":1},{"version":"1ba22252c4a5279497ef0c4f09d8e59da38a82ee892742fefd7c486dd85afe3f","impliedFormat":1},{"version":"530cf372b5a0b767e6fcfa6a4baa5fa5c5f8b0ef729e97ed9cf8131a7b7cada6","impliedFormat":1},{"version":"282c4190b35717e39919505d2bbebaae1154dae6281df7a66c14744ace41bc27","impliedFormat":1},{"version":"ae5f4197a648d582783cce6bc003b68e3bc04fe42f467cace7e3b03cf3d708e5","impliedFormat":1},{"version":"bd371a3a798832cde70392553f3f4d3f87451389b4229043bbbfca8f0269ba43","impliedFormat":1},{"version":"a13dce13283cd460749951e4f44328ef26de903278ab81924fdd8384df1379b9","impliedFormat":1},{"version":"0bfc9e9761ca9ceac6d01f90e0f7382a0682b89f80dc1f274d4815b978fba775","impliedFormat":1},{"version":"611a1e33f744b9d9bb2e9fe9c0f675fbee9e508339cf64c850d792e3aba19723","impliedFormat":1},{"version":"289e0c3e2f69278dddc0c03185cbf7ab3366bad4d6aa8732319e42b334ea2825","impliedFormat":1},{"version":"3fc8e42f6114d65495bfa8e5335d6f570f1ac731256f3be5d7df5912fcd21ecc","impliedFormat":1},{"version":"b5a64b328453669af75126be1b1a4ecdaede57c55db98cba03885dcbd0a2e537","impliedFormat":1},{"version":"1868f4d60f81ad95664ed267e7580be66f4b1016e1f1a180ff3761ccd2d9d0dc","impliedFormat":1},{"version":"e6cea820955ed4022cdc5a603f52572f73fb15ed80df459f87ce9764b1f0bf3b","impliedFormat":1},{"version":"814023beaec9a61cae7e928f25039b7af134d0e0278fdfc646a20dec28d5a621","impliedFormat":1},{"version":"81d0bc28861932b20c04103d07292cbd540b840e523b841ee051562da1853094","impliedFormat":1},{"version":"323f7fff5a64cd86bbbef596f22d71d1306889c43b28755b5945068d0f443a5b","impliedFormat":1},{"version":"e441733e8a1558d96f8991a7f310dd6699ac03bae952b62c7d85bb3c5bdccf02","impliedFormat":1},{"version":"3d514562ccda6d4ee5dea425fcc208917dd2a855cb8b31ec2af84b58c1c164a6","impliedFormat":1},{"version":"84577ba4fccff8794eca23d080b076cd9f73e39ac77b2000a2115468a9bff556","impliedFormat":1},{"version":"862cd0bc7cc7ddfe9076b8308c5a8cd923110f338e6677544abcb1229d133181","impliedFormat":1},{"version":"6722c7e9b22d5379c1238ae79efe51111275d1bed66d2858af5ab0936c8fb318","impliedFormat":1},{"version":"01a025dea43a20b85b966f609ea4524f50926fbf904734e42c8aea6e72941f3e","impliedFormat":1},{"version":"771d600c8f22a02db5fa440fe6e007460a8107b38ef6aaa0b83d79a10d4ae8d1","impliedFormat":1},{"version":"04c2092a7a72cab7539895ab1a56111d2b235907c2a616b7f7c3231715b17549","impliedFormat":1},{"version":"405df5bfdb87ed1fa1cdbea41d181bbd1b9b936224753886912e61e2824078bd","impliedFormat":1},{"version":"71c042008f9c421c386144bd35a63d235944f988401384afddd36bfa0da035df","impliedFormat":1},{"version":"76830db6c7db09935616cab59a6c90e213155dc5d6aedd7a87cebfb6f333b16a","impliedFormat":1},{"version":"9182852dcb34c707e658aba0689a618c51ed5994cce48d0be9c9c28458f99516","impliedFormat":1},{"version":"485df779800194de638dc9307ca66e4a750cb922b2b0e6360290a4ec281e37ac","impliedFormat":1},{"version":"ff7d2d32d070f674cee14c3c74fc5d33208f5370c1fbea46e38f96da4465eba0","impliedFormat":1},{"version":"e15de2a42bd71b66bb5e5e9b1ba4e2394e172e66e4fa82224c48a6615eaff10b","impliedFormat":1},{"version":"77b6bcc47921340b5b8fcd6d4ea8b88e5b33bba69a76c059182bab09913f601a","impliedFormat":1},{"version":"c7955947ce91ad5136e10de70a62b2b1f6cb9bf063cd6e2914bbcf63c13db849","impliedFormat":1},{"version":"b6ec3b51f148919d9f7c4c76ca5439c249cb73d67e39f4299e39df04f56e283c","impliedFormat":1},{"version":"ff9f5437a4560c9fcb93a2cd200a95ecd906af116aee5ce85acac65b5b3ef25a","impliedFormat":1},{"version":"aaed5969dc998df1d3a1f64fbd0cb328e42d253cbcece46b00231f841ca0cbef","impliedFormat":1},{"version":"eccc390fe925537cb974b0b365055c6ce0067e9891e12ef8a9ada703042046b6","impliedFormat":1},{"version":"26543cde606604bfcac98127a1ea1fcb4e5ff5e4814d9d0ae5105cdc673ca4fa","impliedFormat":1},{"version":"1a2c6a4c2c3bf96fe20918ddebb061ace5efb9042e6f9fd40752ff5deaf3efac","impliedFormat":1},{"version":"1ad327020e03e157705e4bb97852e8f6fed36410a95e60c17a1b6e83f563cc0c","impliedFormat":1},{"version":"a3a81aa1add790d2709b3ea019ffa5f50e13737bcf31703d37567a9c20b25414","impliedFormat":1},{"version":"7f699d17b35526ee8ec5a2b340599b80c43b0735add39cc6fab2eed1ef02ad5d","impliedFormat":1},{"version":"bee9484a4df09a2d46475942501a58552cdb3aa76cc40b95a9b1ace0ab8b0596","impliedFormat":1},{"version":"bf72588a01e96288ff52f6ace0854dc1b6b531deb9bd4cdd489814a24e8f5d58","impliedFormat":1},{"version":"4cd301eeb82c0038d73cec8eafd23ada94c0ec9be10d284ee63c39eb0fbb5ee7","impliedFormat":1},{"version":"de944b1760dda60f6cf7bc90fcf377c28f9ddab1a3e17d4d766965bb8b21284c","impliedFormat":1},{"version":"c902ed360686f8fda5bc06efa99862a6d3aaf7888f3aafc70db16f0445bf9967","impliedFormat":1},{"version":"84236d8d439b9e35fbef52a75b4f839d50a9a0f3c7186a6adc04a082713adfff","impliedFormat":1},{"version":"77ecb32fb920939cc27144d8d0b5b04d70df309aa43108338c84f23f495cf308","impliedFormat":1},{"version":"f00360c3f3951bda0f82362dd8de6c982b4bd72491578b9792f3b7fce82f141f","impliedFormat":1},{"version":"4a8a13b5ca694d417820da20fb6a8a488ae05b9461a9b263858339e8be404e10","impliedFormat":1},{"version":"5a4a7c2f46a4f9afd54c001d09aa4a50823055dc834e2f287761ece2c01d68b3","impliedFormat":1},{"version":"1b66942158a56dadb0a7c574d00caee3ef2fe6cc77f7445a57a53ef86a3f5102","impliedFormat":1},{"version":"654afcc651d04feb24f0f0391dcfd5ec966069f13e0f74d0e6e48f6297282115","impliedFormat":1},{"version":"ea99aa2e537966df22f8192e99929ee81719c1cf0b9d9d83d0c6fed53325ccc6","impliedFormat":1},{"version":"a289012bc5a57a1cd5b7f2b2efac7cb4f496bbad2fe6003d6b280d69a7f59a24","impliedFormat":1},{"version":"ac8e4ca89bc1f21a20deb64096603fcd15f2cddfe7d75348b430d59141a4d473","impliedFormat":1},{"version":"1c302ddf52fe9c99da6ceb580aa4828590588ed95b6f7e3c14d7c566a6ac5698","impliedFormat":1},{"version":"d4acaa07e1dcb77cf6dbeddffe3979e7a80eca75b625f227618bc4599a967639","impliedFormat":1},{"version":"1180ab4d2a99b15096f041d78eba131cd4b06da7d1d170a99b8aab9dde8dd9b9","impliedFormat":1},{"version":"f234188083de0487997d5294fbbb040d9fa46b9813c0b23fe003cb467b8af0d3","impliedFormat":1},{"version":"facb006d2e88fd55b8c2114333dd3f255c45e3f37359ec203dba0bb01bf62be7","impliedFormat":1},{"version":"dece00a01e44c449390e7c5bf9869aba715680b5aecbd16f0c5317bab8a7960f","impliedFormat":1},{"version":"ddae11d883cc0a448de2e44148cdb057b154838c5085a9db1d87d2267b7941e5","impliedFormat":1},{"version":"f6f5e5d56550e660eac2685433dd22e265336d8626ef1ec913d95a56bdd565bf","impliedFormat":1},{"version":"859ebda939d3dbb7edaf6731ada5c0259d712d3426e853df097cbdff41dab102","impliedFormat":1},{"version":"f01e365cabb33250c903fe2f4bbfeed65763f0f5bfcdaca56f908a17272b6581","impliedFormat":1},{"version":"39c791196637eb18b1b7685c307278d7518a2658116a1432769e4288abf650f0","impliedFormat":1},{"version":"31c8ed4da32414c313a2b33301c69ce0f7886a13852c057d79f8c65737dbc749","impliedFormat":1},{"version":"0c5f02c86a43a4e4be18c71d76d573ceb0f88f382d4a7074ba50cbefdfd870fb","impliedFormat":1},{"version":"7afc8dc401f19710958243663c921d3f98cd08feee99980a194ef464f0aab8eb","impliedFormat":1},{"version":"87544a5e1806f85d756ce7a57f0898e904699401eba2cc6f002c43dea8ea492a","impliedFormat":1},{"version":"1642a4c22f5ae99bac55c2e8ae67bd21c04c3f5df4e85c70f3fee2829b6e8c64","impliedFormat":1},{"version":"55eaa867abe325655d8d046e7d789771206e54e8d3f0a82f34ee5e0331625bcf","impliedFormat":1},{"version":"212d761cfb8a023f6d35b038fbc11e3d854abf7ca5831d3e20cacbd67c05180c","impliedFormat":1},{"version":"276f214cb249aead2a12ddbe631999c87338ac99e57eab4894da28bd2259c9d8","impliedFormat":1},{"version":"574102117b27a58feb69ccdd2a0be97c977568073e25aa0773dbfc3be16d96d1","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"6e05ae43d33e7b7a53cd0afcd8d27e62b41a9b7c6247807433bb9edeae453205","signature":"af9b7688e1dc9a02110528d58f3644a62dfbb82829c3286e4166ddf9baf166d0"},"221be08fd0da7fae40d16b4af719636263bc891d703b51ebaf0c4f6055edb0dd","6e5903490accba38b8598005de4fe99bf35b309d27c3cb388d78fb77f36fc7ba","af67592c85c180788f9b58eb5bee9215d528bb9f9ef8267d964b28bf321f0af9","4b41a5546f376b4d21c189433cbf5440f6f9dc0fc455981fe1cdb60e2f347660","bb701d742addc26e7ef2484fd6788ffd1988612a493db65d0ef6271c017e7e2e","ac87614529df4bdb4ef1c42fd6e584741c68f857240f6ba83f381669ecd201d1",{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"f9713757bcdfa4d58b48c0fb249e752c94a3eee8bf4532b906094246ac49ef88","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"eab2f3179607acb3d44b2db2a76dd7d621c5039b145dc160a1ee733963f9d2f5","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1}],"root":[[446,452]],"options":{"composite":true,"esModuleInterop":true,"jsx":1,"jsxImportSource":"solid-js","module":99,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[410,1],[406,2],[403,3],[353,4],[356,5],[357,5],[358,5],[359,5],[360,5],[361,5],[362,5],[363,5],[364,5],[365,5],[366,5],[367,5],[368,5],[369,5],[370,5],[371,5],[372,5],[373,5],[374,5],[375,5],[376,5],[377,5],[378,5],[379,5],[380,5],[381,5],[382,5],[384,5],[383,5],[385,5],[386,5],[387,5],[388,5],[389,5],[390,5],[391,5],[392,5],[393,5],[394,5],[395,5],[396,5],[397,5],[398,5],[399,5],[400,5],[401,5],[411,6],[402,7],[404,8],[431,9],[425,10],[354,11],[430,12],[355,13],[414,14],[415,15],[416,16],[417,17],[418,18],[413,19],[419,20],[420,21],[421,22],[423,23],[422,24],[424,25],[405,26],[412,27],[429,28],[426,29],[428,30],[427,29],[335,31],[334,32],[336,33],[350,34],[333,35],[349,36],[352,37],[351,11],[132,7],[133,7],[175,38],[174,39],[134,7],[135,7],[136,7],[137,7],[138,7],[139,7],[140,7],[149,40],[150,7],[151,11],[152,7],[153,7],[154,7],[155,7],[143,11],[156,11],[157,7],[142,41],[144,42],[141,7],[145,41],[146,42],[147,43],[173,44],[158,7],[159,42],[160,7],[161,7],[162,11],[163,7],[164,7],[165,7],[166,7],[167,7],[168,7],[169,45],[170,7],[171,7],[148,7],[172,7],[193,33],[194,33],[197,46],[196,47],[195,7],[207,48],[198,33],[200,49],[199,7],[202,50],[201,11],[203,51],[204,51],[205,52],[206,53],[284,27],[285,54],[288,55],[287,56],[289,57],[286,7],[266,58],[267,11],[297,59],[290,60],[291,11],[292,61],[293,61],[295,62],[294,61],[296,27],[282,63],[268,7],[283,64],[270,65],[269,7],[277,66],[272,67],[273,67],[278,7],[274,67],[271,7],[279,67],[276,67],[275,7],[280,7],[281,7],[319,7],[320,11],[323,68],[331,69],[324,11],[325,11],[326,11],[327,11],[328,11],[329,11],[330,11],[208,33],[209,33],[211,70],[210,7],[212,71],[214,72],[213,73],[217,74],[219,75],[218,7],[220,74],[221,74],[223,76],[215,7],[222,7],[216,11],[238,35],[242,77],[239,7],[241,7],[235,78],[234,79],[236,11],[237,7],[233,7],[240,80],[191,81],[176,7],[189,82],[190,7],[192,83],[248,7],[249,84],[246,85],[247,86],[245,87],[243,7],[244,7],[252,88],[250,11],[251,7],[181,11],[185,11],[177,11],[178,11],[179,11],[180,11],[188,89],[182,90],[183,7],[184,91],[187,11],[186,7],[338,92],[337,7],[339,11],[345,7],[340,7],[341,7],[342,7],[346,7],[348,93],[343,7],[344,7],[347,7],[314,7],[253,7],[298,94],[299,95],[300,11],[301,96],[302,11],[303,11],[304,11],[305,7],[306,94],[307,7],[309,97],[310,98],[308,7],[311,11],[312,11],[332,99],[313,11],[315,11],[316,94],[317,11],[318,11],[62,100],[63,101],[65,11],[78,102],[79,103],[76,104],[77,105],[64,11],[80,106],[83,107],[85,108],[86,109],[68,110],[87,11],[91,111],[89,112],[90,11],[84,11],[93,113],[69,114],[95,115],[96,116],[98,117],[97,118],[99,119],[94,120],[92,121],[100,122],[101,123],[105,124],[106,125],[104,126],[82,127],[70,11],[73,128],[107,129],[108,130],[109,130],[66,11],[111,131],[110,130],[131,132],[71,11],[75,133],[112,134],[113,11],[67,11],[103,135],[119,136],[118,137],[115,11],[116,138],[117,11],[114,139],[102,140],[120,141],[121,142],[122,107],[123,107],[124,143],[88,11],[126,144],[127,145],[81,11],[128,11],[129,146],[125,11],[72,147],[74,121],[130,100],[226,148],[227,149],[228,150],[224,7],[229,11],[230,11],[232,151],[231,11],[225,11],[254,11],[256,7],[255,152],[257,153],[258,154],[259,152],[260,152],[261,155],[265,156],[262,152],[263,155],[264,11],[408,157],[409,158],[407,7],[322,159],[321,11],[515,160],[516,160],[517,161],[455,162],[518,163],[519,164],[520,165],[453,11],[521,166],[522,167],[523,168],[524,169],[525,170],[526,171],[527,171],[528,172],[529,173],[530,174],[531,175],[456,11],[454,11],[532,176],[533,177],[534,178],[575,179],[535,180],[536,181],[537,180],[538,182],[539,183],[541,184],[542,185],[543,185],[544,185],[545,186],[546,187],[547,188],[548,189],[549,190],[550,191],[551,191],[552,192],[553,11],[554,11],[555,193],[556,194],[557,193],[558,195],[559,196],[560,197],[561,198],[562,199],[563,200],[564,201],[565,202],[566,203],[567,204],[568,205],[569,206],[570,207],[571,208],[572,209],[457,180],[458,11],[459,210],[460,211],[461,11],[462,212],[463,11],[506,213],[507,214],[508,215],[509,215],[510,216],[511,11],[512,163],[513,217],[514,214],[573,218],[574,219],[540,11],[60,11],[61,11],[10,11],[11,11],[13,11],[12,11],[2,11],[14,11],[15,11],[16,11],[17,11],[18,11],[19,11],[20,11],[21,11],[3,11],[22,11],[23,11],[4,11],[24,11],[28,11],[25,11],[26,11],[27,11],[29,11],[30,11],[31,11],[5,11],[32,11],[33,11],[34,11],[35,11],[6,11],[39,11],[36,11],[37,11],[38,11],[40,11],[7,11],[41,11],[46,11],[47,11],[42,11],[43,11],[44,11],[45,11],[8,11],[51,11],[48,11],[49,11],[50,11],[52,11],[9,11],[53,11],[54,11],[55,11],[57,11],[56,11],[1,11],[58,11],[59,11],[482,220],[494,221],[479,222],[495,155],[504,223],[470,224],[471,225],[469,226],[503,227],[498,228],[502,229],[473,230],[491,231],[472,232],[501,233],[467,234],[468,228],[474,235],[475,11],[481,236],[478,235],[465,237],[505,238],[496,239],[485,240],[484,235],[486,241],[489,242],[483,243],[487,244],[499,227],[476,245],[477,246],[490,247],[466,155],[493,248],[492,235],[480,246],[488,249],[497,11],[464,11],[500,250],[445,251],[435,252],[437,253],[444,254],[439,11],[440,11],[438,255],[441,256],[432,11],[433,11],[434,251],[436,257],[442,11],[443,258],[447,259],[446,260],[451,261],[450,262],[448,262],[452,263],[449,262]],"affectedFilesPendingEmit":[[447,17],[446,17],[451,17],[450,17],[448,17],[452,17],[449,17]],"emitSignatures":[446,447,448,449,450,451,452],"version":"5.9.3"} \ No newline at end of file diff --git a/packages/report/src/data-collector.test.ts b/packages/report/src/data-collector.test.ts new file mode 100644 index 0000000..64ff035 --- /dev/null +++ b/packages/report/src/data-collector.test.ts @@ -0,0 +1,408 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { + collectExposureSummary, + collectSpamStats, + collectVoiceStats, + collectHomeTitleStats, + generateRecommendations, + calculateProtectionScore, + collectAllReportData, +} from './data-collector'; + +const mocks = vi.hoisted(() => { + const mockExposureFindMany = vi.fn(); + const mockAlertCount = vi.fn(); + const mockSpamFeedbackFindMany = vi.fn(); + const mockVoiceAnalysisFindMany = vi.fn(); + const mockVoiceEnrollmentCount = vi.fn(); + const mockWatchlistItemFindMany = vi.fn(); + const mockPrisma = { + exposure: { findMany: mockExposureFindMany }, + alert: { count: mockAlertCount }, + spamFeedback: { findMany: mockSpamFeedbackFindMany }, + voiceAnalysis: { findMany: mockVoiceAnalysisFindMany }, + voiceEnrollment: { count: mockVoiceEnrollmentCount }, + watchlistItem: { findMany: mockWatchlistItemFindMany }, + }; + return { + mockExposureFindMany, + mockAlertCount, + mockSpamFeedbackFindMany, + mockVoiceAnalysisFindMany, + mockVoiceEnrollmentCount, + mockWatchlistItemFindMany, + mockPrisma, + }; +}); + +const { + mockExposureFindMany, + mockAlertCount, + mockSpamFeedbackFindMany, + mockVoiceAnalysisFindMany, + mockVoiceEnrollmentCount, + mockWatchlistItemFindMany, + mockPrisma, +} = mocks; + +vi.mock('@shieldai/db', () => ({ + prisma: mocks.mockPrisma, +})); + +describe('data-collector', () => { + const periodStart = new Date('2025-01-01'); + const periodEnd = new Date('2025-01-31'); + + beforeEach(() => { + vi.clearAllMocks(); + }); + + describe('collectExposureSummary', () => { + it('returns correct counts for mixed severity exposures', async () => { + mockExposureFindMany.mockResolvedValue([ + { severity: 'critical', source: 'breach1', isFirstTime: true }, + { severity: 'warning', source: 'breach2', isFirstTime: true }, + { severity: 'info', source: 'breach1', isFirstTime: false }, + ]); + mockAlertCount.mockResolvedValue(1); + + const result = await collectExposureSummary('sub-1', periodStart, periodEnd); + + expect(result.totalExposures).toBe(3); + expect(result.newExposures).toBe(2); + expect(result.criticalExposures).toBe(1); + expect(result.warningExposures).toBe(1); + expect(result.infoExposures).toBe(1); + expect(result.resolvedExposures).toBe(1); + expect(result.exposuresBySource).toEqual({ breach1: 2, breach2: 1 }); + }); + + it('returns zeros when no exposures', async () => { + mockPrisma.exposure.findMany.mockResolvedValue([]); + mockAlertCount.mockResolvedValue(0); + + const result = await collectExposureSummary('sub-1', periodStart, periodEnd); + + expect(result.totalExposures).toBe(0); + expect(result.newExposures).toBe(0); + expect(result.criticalExposures).toBe(0); + }); + }); + + describe('collectSpamStats', () => { + it('calculates spam stats correctly', async () => { + mockPrisma.spamFeedback.findMany.mockResolvedValue([ + { isSpam: true, feedbackType: 'initial_detection', metadata: { channel: 'call' } }, + { isSpam: true, feedbackType: 'initial_detection', metadata: { channel: 'sms' } }, + { isSpam: true, feedbackType: 'user_rejection', metadata: { channel: 'call' } }, + { isSpam: false, feedbackType: 'initial_detection', metadata: { channel: 'call' } }, + ]); + + const result = await collectSpamStats('user-1', periodStart, periodEnd); + + expect(result.callsBlocked).toBe(2); + expect(result.textsBlocked).toBe(1); + expect(result.falsePositives).toBe(1); + expect(result.totalSpamEvents).toBe(3); + }); + + it('returns zeros when no spam events', async () => { + mockPrisma.spamFeedback.findMany.mockResolvedValue([]); + + const result = await collectSpamStats('user-1', periodStart, periodEnd); + + expect(result.totalSpamEvents).toBe(0); + expect(result.callsBlocked).toBe(0); + expect(result.textsBlocked).toBe(0); + }); + }); + + describe('collectVoiceStats', () => { + it('calculates voice stats correctly', async () => { + mockPrisma.voiceAnalysis.findMany.mockResolvedValue([ + { isSynthetic: true, confidence: 0.9, enrollmentId: 'enr-1' }, + { isSynthetic: true, confidence: 0.5, enrollmentId: 'enr-1' }, + { isSynthetic: false, confidence: 0.8, enrollmentId: 'enr-2' }, + ]); + mockPrisma.voiceEnrollment.count.mockResolvedValue(2); + + const result = await collectVoiceStats('user-1', periodStart, periodEnd); + + expect(result.analysesRun).toBe(3); + expect(result.threatsDetected).toBe(1); + expect(result.syntheticDetections).toBe(2); + expect(result.enrollmentsActive).toBe(2); + }); + + it('returns zeros when no analyses', async () => { + mockPrisma.voiceAnalysis.findMany.mockResolvedValue([]); + mockPrisma.voiceEnrollment.count.mockResolvedValue(0); + + const result = await collectVoiceStats('user-1', periodStart, periodEnd); + + expect(result.analysesRun).toBe(0); + expect(result.threatsDetected).toBe(0); + expect(result.enrollmentsActive).toBe(0); + }); + }); + + describe('collectHomeTitleStats', () => { + it('calculates home title stats', async () => { + mockPrisma.watchlistItem.findMany.mockResolvedValue([ + { subscriptionId: 'sub-1', type: 'address', isActive: true }, + { subscriptionId: 'sub-1', type: 'address', isActive: true }, + ]); + mockAlertCount.mockResolvedValue(10); + + const result = await collectHomeTitleStats('sub-1', periodStart, periodEnd); + + expect(result.propertiesMonitored).toBe(2); + expect(result.alertsTriggered).toBe(10); + expect(result.changesDetected).toBe(Math.round(10 * 0.3)); + }); + + it('returns zeros when no watchlist items', async () => { + mockPrisma.watchlistItem.findMany.mockResolvedValue([]); + mockAlertCount.mockResolvedValue(0); + + const result = await collectHomeTitleStats('sub-1', periodStart, periodEnd); + + expect(result.propertiesMonitored).toBe(0); + expect(result.changesDetected).toBe(0); + }); + }); + + describe('calculateProtectionScore', () => { + it('starts at 100 and deducts for issues', () => { + const exposure = { + criticalExposures: 1, + warningExposures: 2, + infoExposures: 3, + newExposures: 0, + resolvedExposures: 0, + exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 5, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 1, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const score = calculateProtectionScore(exposure, spam, voice); + + // 100 - 10 (1 critical) - 10 (2 warnings) - 6 (3 info) - 5 (spam) = 69 + expect(score).toBe(69); + }); + + it('caps score between 0 and 100', () => { + const exposure = { + criticalExposures: 15, + warningExposures: 10, + infoExposures: 10, + newExposures: 0, + resolvedExposures: 0, + exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 30, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 0, + syntheticDetections: 5, voiceMismatchEvents: 0, + }; + + const score = calculateProtectionScore(exposure, spam, voice); + + // 100 - 150 - 50 - 20 - 20 - 40 - 5 = -85, capped to 0 + expect(score).toBe(0); + }); + + it('deducts 5 for no active enrollments', () => { + const exposure = { + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + newExposures: 0, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 0, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const score = calculateProtectionScore(exposure, spam, voice); + + expect(score).toBe(95); + }); + }); + + describe('generateRecommendations', () => { + it('suggests addressing critical exposures', () => { + const exposure = { + criticalExposures: 3, warningExposures: 0, infoExposures: 0, + newExposures: 0, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 1, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const recs = generateRecommendations(exposure, spam, voice, 70); + + expect(recs).toHaveLength(1); + expect(recs[0].priority).toBe('high'); + expect(recs[0].category).toBe('dark_web'); + }); + + it('suggests reviewing new exposures when > 5', () => { + const exposure = { + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + newExposures: 10, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 1, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const recs = generateRecommendations(exposure, spam, voice, 70); + + expect(recs).toHaveLength(1); + expect(recs[0].title).toBe('Review New Exposures'); + }); + + it('suggests voice cloning threat when synthetic detected', () => { + const exposure = { + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + newExposures: 0, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 10, threatsDetected: 2, enrollmentsActive: 1, + syntheticDetections: 2, voiceMismatchEvents: 2, + }; + + const recs = generateRecommendations(exposure, spam, voice, 70); + + expect(recs).toHaveLength(1); + expect(recs[0].category).toBe('voice'); + expect(recs[0].priority).toBe('high'); + }); + + it('suggests enrolling voices when no active enrollments', () => { + const exposure = { + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + newExposures: 0, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 0, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const recs = generateRecommendations(exposure, spam, voice, 70); + + expect(recs).toHaveLength(1); + expect(recs[0].priority).toBe('low'); + }); + + it('suggests improving protection score when < 50', () => { + const exposure = { + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + newExposures: 0, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 0, + }; + const voice = { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 1, + syntheticDetections: 0, voiceMismatchEvents: 0, + }; + + const recs = generateRecommendations(exposure, spam, voice, 45); + + expect(recs).toHaveLength(1); + expect(recs[0].category).toBe('general'); + expect(recs[0].priority).toBe('high'); + }); + + it('returns multiple recommendations for complex scenario', () => { + const exposure = { + criticalExposures: 2, warningExposures: 0, infoExposures: 0, + newExposures: 8, resolvedExposures: 0, exposuresBySource: {}, + }; + const spam = { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 25, + }; + const voice = { + analysesRun: 10, threatsDetected: 1, enrollmentsActive: 0, + syntheticDetections: 1, voiceMismatchEvents: 1, + }; + + const recs = generateRecommendations(exposure, spam, voice, 40); + + expect(recs.length).toBeGreaterThan(2); + const categories = recs.map((r) => r.category); + expect(categories).toContain('dark_web'); + expect(categories).toContain('spam'); + expect(categories).toContain('voice'); + expect(categories).toContain('general'); + }); + }); + + describe('collectAllReportData', () => { + it('includes homeTitleStats for ANNUAL_PREMIUM', async () => { + mockPrisma.exposure.findMany.mockResolvedValue([]); + mockAlertCount.mockResolvedValue(0); + mockPrisma.spamFeedback.findMany.mockResolvedValue([]); + mockPrisma.voiceAnalysis.findMany.mockResolvedValue([]); + mockPrisma.voiceEnrollment.count.mockResolvedValue(0); + mockPrisma.watchlistItem.findMany.mockResolvedValue([]); + + const result = await collectAllReportData( + 'user-1', 'sub-1', 'ANNUAL_PREMIUM', periodStart, periodEnd + ); + + expect(result.homeTitleStats).toBeDefined(); + expect(result.exposureSummary).toBeDefined(); + expect(result.spamStats).toBeDefined(); + expect(result.voiceStats).toBeDefined(); + expect(result.recommendations).toBeDefined(); + expect(result.protectionScore).toBeDefined(); + }); + + it('excludes homeTitleStats for MONTHLY_PLUS', async () => { + mockPrisma.exposure.findMany.mockResolvedValue([]); + mockAlertCount.mockResolvedValue(0); + mockPrisma.spamFeedback.findMany.mockResolvedValue([]); + mockPrisma.voiceAnalysis.findMany.mockResolvedValue([]); + mockPrisma.voiceEnrollment.count.mockResolvedValue(0); + + const result = await collectAllReportData( + 'user-1', 'sub-1', 'MONTHLY_PLUS', periodStart, periodEnd + ); + + expect(result.homeTitleStats).toBeUndefined(); + }); + }); +}); diff --git a/packages/report/src/html-renderer.test.ts b/packages/report/src/html-renderer.test.ts new file mode 100644 index 0000000..bb0050f --- /dev/null +++ b/packages/report/src/html-renderer.test.ts @@ -0,0 +1,147 @@ +import { describe, it, expect } from 'vitest'; +import { htmlRenderer } from './html-renderer'; + +const mockData = { + exposureSummary: { + totalExposures: 10, + newExposures: 3, + resolvedExposures: 2, + criticalExposures: 1, + warningExposures: 4, + infoExposures: 5, + exposuresBySource: { breach1: 5, breach2: 5 }, + }, + spamStats: { + callsBlocked: 15, + textsBlocked: 20, + callsFlagged: 5, + textsFlagged: 8, + falsePositives: 2, + totalSpamEvents: 35, + }, + voiceStats: { + analysesRun: 50, + threatsDetected: 3, + enrollmentsActive: 2, + syntheticDetections: 3, + voiceMismatchEvents: 3, + }, + recommendations: [ + { + category: 'dark_web', + priority: 'high', + title: 'Address Critical Exposures', + description: '1 critical exposure detected.', + }, + ], + protectionScore: 75, +}; + +const renderContext = { + reportTitle: 'Monthly Protection Report — January 2025', + reportType: 'MONTHLY_PLUS', + periodStart: '2025-01-01T00:00:00.000Z', + periodEnd: '2025-01-31T23:59:59.000Z', + generatedAt: '2025-02-01T00:00:00.000Z', + userName: 'user-1', + data: mockData, + dashboardUrl: 'https://app.shieldai.com/reports/test-1', + reportId: 'test-1', +}; + +describe('HtmlRenderer', () => { + it('renders valid HTML with report title', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('Monthly Protection Report — January 2025'); + expect(html).toContain(''); + expect(html).toContain(''); + }); + + it('renders protection score', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('75'); + expect(html).toContain('/ 100'); + }); + + it('uses high score class for score >= 70', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('score-ring high'); + }); + + it('uses medium score class for score 40-69', () => { + const html = htmlRenderer.render({ + ...renderContext, + data: { ...mockData, protectionScore: 50 }, + }); + expect(html).toContain('score-ring medium'); + }); + + it('uses low score class for score < 40', () => { + const html = htmlRenderer.render({ + ...renderContext, + data: { ...mockData, protectionScore: 30 }, + }); + expect(html).toContain('score-ring low'); + }); + + it('renders exposure summary stats', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('1'); // critical + expect(html).toContain('4'); // warnings + expect(html).toContain('3'); // new findings + expect(html).toContain('2'); // resolved + }); + + it('renders spam protection stats', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('15'); // calls blocked + expect(html).toContain('20'); // texts blocked + expect(html).toContain('35'); // total events + }); + + it('renders voice protection stats', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('50'); // analyses run + expect(html).toContain('3'); // threats detected + expect(html).toContain('2'); // enrollments active + }); + + it('renders recommendations with priority styling', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('recommendation high'); + expect(html).toContain('Address Critical Exposures'); + }); + + it('renders home title stats when present', () => { + const html = htmlRenderer.render({ + ...renderContext, + data: { + ...mockData, + homeTitleStats: { + propertiesMonitored: 2, + changesDetected: 1, + alertsTriggered: 3, + }, + }, + }); + expect(html).toContain('Home Title Monitoring'); + expect(html).toContain('Properties Monitored'); + }); + + it('omits home title section when stats are undefined', () => { + const html = htmlRenderer.render(renderContext); + expect(html).not.toContain('Home Title Monitoring'); + }); + + it('renders dashboard URL and report ID in footer', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('https://app.shieldai.com/reports/test-1'); + expect(html).toContain('test-1'); + }); + + it('renders exposure sources table', () => { + const html = htmlRenderer.render(renderContext); + expect(html).toContain('breach1'); + expect(html).toContain('breach2'); + }); +}); diff --git a/packages/report/src/pdf-generator.test.ts b/packages/report/src/pdf-generator.test.ts new file mode 100644 index 0000000..919255a --- /dev/null +++ b/packages/report/src/pdf-generator.test.ts @@ -0,0 +1,152 @@ +import { describe, it, expect } from 'vitest'; +import { pdfGenerator } from './pdf-generator'; + +const mockData = { + exposureSummary: { + totalExposures: 10, + newExposures: 3, + resolvedExposures: 2, + criticalExposures: 1, + warningExposures: 4, + infoExposures: 5, + exposuresBySource: {}, + }, + spamStats: { + callsBlocked: 15, + textsBlocked: 20, + callsFlagged: 5, + textsFlagged: 8, + falsePositives: 2, + totalSpamEvents: 35, + }, + voiceStats: { + analysesRun: 50, + threatsDetected: 3, + enrollmentsActive: 2, + syntheticDetections: 3, + voiceMismatchEvents: 3, + }, + recommendations: [], + protectionScore: 75, +}; + +const pdfContext = { + reportTitle: 'Monthly Protection Report — January 2025', + periodStart: '2025-01-01T00:00:00.000Z', + periodEnd: '2025-01-31T23:59:59.000Z', + generatedAt: '2025-02-01T00:00:00.000Z', + data: mockData, + reportId: 'test-1', +}; + +describe('PdfGenerator', () => { + it('generates a non-empty PDF buffer', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + expect(pdf).toBeInstanceOf(Buffer); + expect(pdf.length).toBeGreaterThan(100); + }); + + it('PDF starts with PDF magic bytes', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const header = pdf.subarray(0, 5).toString(); + expect(header).toBe('%PDF-'); + }); + + it('PDF ends with %%EOF', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const footer = pdf.subarray(-6).toString(); + expect(footer).toContain('%%EOF'); + }); + + it('PDF contains xref table', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const text = pdf.toString('utf8'); + expect(text).toContain('xref'); + expect(text).toContain('trailer'); + expect(text).toContain('startxref'); + }); + + it('PDF contains multiple pages', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const text = pdf.toString('utf8'); + // PDFKit creates multiple pages for our report + expect(text).toContain('/Count 3'); + }); + + it('PDF registers both font families', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const text = pdf.toString('utf8'); + expect(text).toContain('Helvetica'); + expect(text).toContain('Helvetica-Bold'); + }); + + it('generates PDF with home title section (more content)', async () => { + const basePdf = await pdfGenerator.generate(pdfContext); + const premiumPdf = await pdfGenerator.generate({ + ...pdfContext, + data: { + ...mockData, + homeTitleStats: { + propertiesMonitored: 2, + changesDetected: 1, + alertsTriggered: 3, + }, + }, + }); + // Premium report with extra section should be larger + expect(premiumPdf.length).toBeGreaterThan(basePdf.length); + }); + + it('generates PDF with recommendations (more content)', async () => { + const basePdf = await pdfGenerator.generate(pdfContext); + const withRecs = await pdfGenerator.generate({ + ...pdfContext, + data: { + ...mockData, + recommendations: [ + { + category: 'dark_web', + priority: 'high', + title: 'Address Critical Exposures', + description: '1 critical exposure detected.', + }, + ], + }, + }); + // Report with recommendations should be larger + expect(withRecs.length).toBeGreaterThan(basePdf.length); + }); + + it('generates PDF with score change (more content)', async () => { + const basePdf = await pdfGenerator.generate(pdfContext); + const withChange = await pdfGenerator.generate({ + ...pdfContext, + data: { + ...mockData, + protectionScore: 80, + previousProtectionScore: 70, + }, + }); + // Report with score change text should be larger + expect(withChange.length).toBeGreaterThan(basePdf.length); + }); + + it('generates valid PDF with all required sections', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + const text = pdf.toString('utf8'); + // Structural validation + expect(text).toContain('%PDF-'); + expect(text).toContain('/Type /Catalog'); + expect(text).toContain('/Type /Pages'); + expect(text).toContain('/Type /Page'); + expect(text).toContain('/ProcSet [/PDF /Text'); + }); + + it('handles empty recommendations gracefully', async () => { + const pdf = await pdfGenerator.generate(pdfContext); + expect(pdf).toBeInstanceOf(Buffer); + expect(pdf.length).toBeGreaterThan(100); + const header = pdf.subarray(0, 5).toString(); + expect(header).toBe('%PDF-'); + }); +}); diff --git a/packages/report/src/pdf-generator.ts b/packages/report/src/pdf-generator.ts index 571ee83..781bf6c 100644 --- a/packages/report/src/pdf-generator.ts +++ b/packages/report/src/pdf-generator.ts @@ -1,4 +1,4 @@ -import { PDFDocument, rgb, StandardFonts } from 'pdfkit'; +import PDFKit from 'pdfkit'; import { ReportDataPayload } from '@shieldai/types'; interface PdfContext { @@ -27,14 +27,14 @@ function getScoreColor(score: number): string { export class PdfGenerator { async generate(context: PdfContext): Promise { return new Promise((resolve, reject) => { - const doc = new PDFDocument({ + const doc = new PDFKit({ size: 'A4', margins: { top: 40, bottom: 40, left: 40, right: 40 }, }); const chunks: Buffer[] = []; - doc.on('data', (chunk) => chunks.push(chunk)); + doc.on('data', (chunk: Buffer) => chunks.push(chunk)); doc.on('end', () => resolve(Buffer.concat(chunks))); doc.on('error', reject); @@ -46,7 +46,7 @@ export class PdfGenerator { .rect(0, 0, w, 120) .fill('#1e40af') .fillColor('white') - .font(StandardFonts.HelveticaBold) + .font('Helvetica-Bold') .fontSize(24) .text(context.reportTitle, 40, 30, { align: 'center' }) .fontSize(12) @@ -63,7 +63,7 @@ export class PdfGenerator { doc .fillColor(scoreColor) .fontSize(48) - .font(StandardFonts.HelveticaBold) + .font('Helvetica-Bold') .text(`${score}/100`, 40, y, { align: 'center' }); y += 60; @@ -73,7 +73,7 @@ export class PdfGenerator { doc .fillColor('#64748b') .fontSize(11) - .font(StandardFonts.Helvetica) + .font('Helvetica') .text(changeText, 40, y, { align: 'center' }); y += 20; } @@ -125,10 +125,10 @@ export class PdfGenerator { .rect(40, y, 4, 30) .fill(priorityColor) .fillColor('#1a202c') - .font(StandardFonts.HelveticaBold) + .font('Helvetica-Bold') .fontSize(12) .text(rec.title, 50, y + 2, { width: w - 100 }) - .font(StandardFonts.Helvetica) + .font('Helvetica') .fontSize(10) .fillColor('#475569') .text(rec.description, 50, y + 18, { width: w - 100 }); @@ -142,7 +142,7 @@ export class PdfGenerator { .fill('#f5f7fa') .fillColor('#94a3b8') .fontSize(10) - .font(StandardFonts.Helvetica) + .font('Helvetica') .text('ShieldAI — Your Digital Identity Protection', 40, h - 45, { align: 'center' }) .text(`Report ID: ${context.reportId}`, 40, h - 30, { align: 'center' }); @@ -150,7 +150,7 @@ export class PdfGenerator { }); } - private drawSectionHeader(doc: PDFDocument, title: string, y: number): number { + private drawSectionHeader(doc: PDFKit.PDFDocument, title: string, y: number): number { if (y > 680) { doc.addPage(); y = 40; @@ -159,7 +159,7 @@ export class PdfGenerator { doc .fillColor('#1e40af') .fontSize(16) - .font(StandardFonts.HelveticaBold) + .font('Helvetica-Bold') .text(title, 40, y) .rect(40, y + 18, 480, 2) .fill('#e2e8f0'); @@ -168,7 +168,7 @@ export class PdfGenerator { } private drawStatGrid( - doc: PDFDocument, + doc: PDFKit.PDFDocument, stats: Array<{ label: string; value: number; color: string }>, y: number ): number { @@ -185,11 +185,11 @@ export class PdfGenerator { .fill('#f8fafc') .fillColor(stat.color) .fontSize(20) - .font(StandardFonts.HelveticaBold) + .font('Helvetica-Bold') .text(String(stat.value), x + 4, y + 8, { width: colWidth - 16, align: 'center' }) .fillColor('#64748b') .fontSize(9) - .font(StandardFonts.Helvetica) + .font('Helvetica') .text(stat.label, x + 4, y + 35, { width: colWidth - 16, align: 'center' }); } y += 70; diff --git a/packages/report/src/report.service.test.ts b/packages/report/src/report.service.test.ts new file mode 100644 index 0000000..031d425 --- /dev/null +++ b/packages/report/src/report.service.test.ts @@ -0,0 +1,319 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import { ReportService } from './report.service'; + +const mocks = vi.hoisted(() => { + const mockCreate = vi.fn(); + const mockUpdate = vi.fn(); + const mockFindUniqueOrThrow = vi.fn(); + const mockFindMany = vi.fn(); + const mockFindFirst = vi.fn(); + const mockSubscriptionFindMany = vi.fn(); + const mockPrisma = { + securityReport: { + create: mockCreate, + update: mockUpdate, + findUniqueOrThrow: mockFindUniqueOrThrow, + findMany: mockFindMany, + findFirst: mockFindFirst, + }, + subscription: { + findMany: mockSubscriptionFindMany, + }, + }; + return { + mockCreate, + mockUpdate, + mockFindUniqueOrThrow, + mockFindMany, + mockFindFirst, + mockSubscriptionFindMany, + mockPrisma, + }; +}); + +const { + mockCreate, + mockUpdate, + mockFindUniqueOrThrow, + mockFindMany, + mockFindFirst, + mockSubscriptionFindMany, + mockPrisma, +} = mocks; + +vi.mock('@shieldai/db', () => ({ + prisma: mocks.mockPrisma, +})); + +vi.mock('fs', () => ({ + default: { + existsSync: vi.fn(() => false), + mkdirSync: vi.fn(), + writeFileSync: vi.fn(), + }, + existsSync: vi.fn(() => false), + mkdirSync: vi.fn(), + writeFileSync: vi.fn(), +})); + +vi.mock('./data-collector', () => ({ + collectAllReportData: vi.fn(() => + Promise.resolve({ + exposureSummary: { + totalExposures: 5, newExposures: 2, resolvedExposures: 1, + criticalExposures: 1, warningExposures: 2, infoExposures: 2, + exposuresBySource: {}, + }, + spamStats: { + callsBlocked: 10, textsBlocked: 5, callsFlagged: 2, textsFlagged: 1, + falsePositives: 0, totalSpamEvents: 15, + }, + voiceStats: { + analysesRun: 20, threatsDetected: 1, enrollmentsActive: 1, + syntheticDetections: 1, voiceMismatchEvents: 1, + }, + recommendations: [], + protectionScore: 80, + }) + ), +})); + +vi.mock('./html-renderer', () => ({ + htmlRenderer: { + render: vi.fn(() => 'Mock HTML'), + }, +})); + +vi.mock('./pdf-generator', () => ({ + pdfGenerator: { + generate: vi.fn(() => Promise.resolve(Buffer.from('mock-pdf'))), + }, +})); + +describe('ReportService', () => { + let service: ReportService; + + beforeEach(() => { + vi.clearAllMocks(); + service = new ReportService(); + }); + + describe('generateReport', () => { + it('creates and completes a report successfully', async () => { + const reportId = 'report-1'; + mockCreate.mockResolvedValueOnce({ + id: reportId, + userId: 'user-1', + subscriptionId: 'sub-1', + reportType: 'MONTHLY_PLUS', + status: 'GENERATING', + periodStart: new Date('2025-01-01'), + periodEnd: new Date('2025-01-31'), + title: 'Monthly Protection Report — January 2025', + }); + mockUpdate.mockResolvedValueOnce({ + id: reportId, + userId: 'user-1', + reportType: 'MONTHLY_PLUS', + status: 'COMPLETED', + periodStart: new Date('2025-01-01'), + periodEnd: new Date('2025-01-31'), + title: 'Monthly Protection Report — January 2025', + summary: 'Protection Score: 80/100. 15 spam event(s) blocked.', + htmlContent: 'Mock HTML', + pdfUrl: 'https://app.shieldai.com/api/v1/reports/report-1/pdf', + dataPayload: '{}', + error: null, + createdAt: new Date(), + deliveredAt: null, + }); + + const result = await service.generateReport({ + userId: 'user-1', + subscriptionId: 'sub-1', + reportType: 'MONTHLY_PLUS', + periodStart: new Date('2025-01-01'), + periodEnd: new Date('2025-01-31'), + }); + + expect(mockCreate).toHaveBeenCalledTimes(1); + expect(mockUpdate).toHaveBeenCalledTimes(1); + expect(result.status).toBe('COMPLETED'); + expect(result.reportType).toBe('MONTHLY_PLUS'); + }); + + it('sets status to FAILED on error', async () => { + const reportId = 'report-2'; + mockCreate.mockResolvedValueOnce({ + id: reportId, + userId: 'user-1', + subscriptionId: 'sub-1', + reportType: 'MONTHLY_PLUS', + status: 'GENERATING', + periodStart: new Date('2025-01-01'), + periodEnd: new Date('2025-01-31'), + title: 'Monthly Protection Report', + }); + mockUpdate.mockResolvedValueOnce({ + id: reportId, + status: 'FAILED', + error: 'Data collection failed', + }); + mockFindUniqueOrThrow.mockResolvedValueOnce({ + id: reportId, + userId: 'user-1', + reportType: 'MONTHLY_PLUS', + status: 'FAILED', + periodStart: new Date('2025-01-01'), + periodEnd: new Date('2025-01-31'), + title: 'Monthly Protection Report', + summary: null, + pdfUrl: null, + dataPayload: null, + error: 'Data collection failed', + createdAt: new Date(), + deliveredAt: null, + }); + + // Force data collector to throw + const dc = await import('./data-collector'); + vi.mocked(dc.collectAllReportData).mockResolvedValueOnce({ + exposureSummary: { + totalExposures: 0, newExposures: 0, resolvedExposures: 0, + criticalExposures: 0, warningExposures: 0, infoExposures: 0, + exposuresBySource: {}, + }, + spamStats: { + callsBlocked: 0, textsBlocked: 0, callsFlagged: 0, textsFlagged: 0, + falsePositives: 0, totalSpamEvents: 50, + }, + voiceStats: { + analysesRun: 0, threatsDetected: 0, enrollmentsActive: 0, + syntheticDetections: 0, voiceMismatchEvents: 0, + }, + recommendations: [], + protectionScore: 85, + }); + + const result = await service.generateReport({ + userId: 'user-1', + subscriptionId: 'sub-1', + reportType: 'MONTHLY_PLUS', + }); + + expect(result.status).toBe('FAILED'); + }); + }); + + describe('getReportHistory', () => { + it('returns paginated report history', async () => { + mockFindMany.mockResolvedValue([ + { + id: 'r1', userId: 'user-1', reportType: 'MONTHLY_PLUS', status: 'COMPLETED', + periodStart: new Date('2025-01-01'), periodEnd: new Date('2025-01-31'), + title: 'Jan Report', summary: 'Good', pdfUrl: '/pdf/1', + dataPayload: '{}', error: null, createdAt: new Date(), deliveredAt: null, + }, + { + id: 'r2', userId: 'user-1', reportType: 'MONTHLY_PLUS', status: 'COMPLETED', + periodStart: new Date('2024-12-01'), periodEnd: new Date('2024-12-31'), + title: 'Dec Report', summary: 'Good', pdfUrl: '/pdf/2', + dataPayload: '{}', error: null, createdAt: new Date(), deliveredAt: null, + }, + ]); + + const result = await service.getReportHistory('user-1', 10, 0); + + expect(result).toHaveLength(2); + expect(mockFindMany).toHaveBeenCalledWith({ + where: { userId: 'user-1' }, + orderBy: { createdAt: 'desc' }, + take: 10, + skip: 0, + }); + }); + }); + + describe('getReportById', () => { + it('returns report when found', async () => { + mockFindFirst.mockResolvedValue({ + id: 'r1', userId: 'user-1', reportType: 'MONTHLY_PLUS', status: 'COMPLETED', + periodStart: new Date(), periodEnd: new Date(), + title: 'Test Report', summary: 'ok', pdfUrl: '/pdf', + dataPayload: '{}', error: null, createdAt: new Date(), deliveredAt: null, + }); + + const result = await service.getReportById('user-1', 'r1'); + expect(result.id).toBe('r1'); + }); + + it('throws when report not found', async () => { + mockFindFirst.mockResolvedValue(null); + + await expect(service.getReportById('user-1', 'r99')).rejects.toThrow( + 'Report r99 not found' + ); + }); + }); + + describe('scheduleMonthlyReports', () => { + it('creates monthly reports for Plus subscriptions', async () => { + mockSubscriptionFindMany.mockResolvedValue([ + { id: 'sub-1', userId: 'user-1', user: { email: 'u1@test.com' } }, + { id: 'sub-2', userId: 'user-2', user: { email: 'u2@test.com' } }, + ]); + mockFindFirst.mockResolvedValue(null); + mockCreate.mockResolvedValue({ id: 'new-report-1' }); + + const result = await service.scheduleMonthlyReports(); + + expect(result.length).toBeGreaterThan(0); + expect(mockCreate).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + reportType: 'MONTHLY_PLUS', + status: 'PENDING', + }), + }) + ); + }); + + it('skips subscriptions that already have a report for the period', async () => { + mockSubscriptionFindMany.mockResolvedValue([ + { id: 'sub-1', userId: 'user-1', user: { email: 'u1@test.com' } }, + ]); + mockFindFirst.mockResolvedValue({ id: 'existing' }); + + const result = await service.scheduleMonthlyReports(); + + expect(result).toHaveLength(0); + }); + }); + + describe('scheduleAnnualReports', () => { + it('creates annual reports for Premium subscriptions due', async () => { + const now = new Date(); + mockSubscriptionFindMany.mockResolvedValue([ + { + id: 'sub-1', + userId: 'user-1', + currentPeriodStart: new Date(now.getFullYear() - 1, now.getMonth(), now.getDate()), + }, + ]); + mockFindFirst.mockResolvedValue(null); + mockCreate.mockResolvedValue({ id: 'annual-report-1' }); + + const result = await service.scheduleAnnualReports(); + + expect(result.length).toBeGreaterThan(0); + expect(mockCreate).toHaveBeenCalledWith( + expect.objectContaining({ + data: expect.objectContaining({ + reportType: 'ANNUAL_PREMIUM', + status: 'PENDING', + }), + }) + ); + }); + }); +}); diff --git a/packages/report/src/report.service.ts b/packages/report/src/report.service.ts index c40a72d..6fda980 100644 --- a/packages/report/src/report.service.ts +++ b/packages/report/src/report.service.ts @@ -1,3 +1,5 @@ +import * as fs from 'fs'; +import * as path from 'path'; import { prisma } from '@shieldai/db'; import { ReportType, @@ -10,6 +12,8 @@ import { collectAllReportData } from './data-collector'; import { htmlRenderer } from './html-renderer'; import { pdfGenerator } from './pdf-generator'; +const PDF_STORAGE_DIR = process.env.PDF_STORAGE_DIR || path.join(process.cwd(), 'storage', 'reports', 'pdfs'); + export class ReportService { async generateReport(input: GenerateReportInput): Promise { const { userId, subscriptionId, reportType, periodStart, periodEnd } = input; @@ -265,7 +269,15 @@ export class ReportService { } private storePdf(pdfBuffer: Buffer, reportId: string): string { - const pdfBase64 = pdfBuffer.toString('base64'); + const pdfPath = path.join(PDF_STORAGE_DIR, `${reportId}.pdf`); + + const dir = path.dirname(pdfPath); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }); + } + + fs.writeFileSync(pdfPath, pdfBuffer); + const dashboardUrl = process.env.DASHBOARD_URL || 'https://app.shieldai.com'; return `${dashboardUrl}/api/v1/reports/${reportId}/pdf`; } diff --git a/packages/shared-notifications/src/index.ts b/packages/shared-notifications/src/index.ts index 5953274..3fb5663 100644 --- a/packages/shared-notifications/src/index.ts +++ b/packages/shared-notifications/src/index.ts @@ -11,8 +11,10 @@ export { DefaultEmailTemplates, DefaultSMSTemplates, DefaultPushTemplates, + WaitlistEmailTemplates, DEFAULT_LOCALE, } from './templates/default-templates'; +export { buildEmailHtml } from './templates/waitlist-email-layout'; export * from './types/notification.types'; export * from './types/template.types'; diff --git a/packages/shared-notifications/src/templates/default-templates.ts b/packages/shared-notifications/src/templates/default-templates.ts index ae2e6f1..7ba811a 100644 --- a/packages/shared-notifications/src/templates/default-templates.ts +++ b/packages/shared-notifications/src/templates/default-templates.ts @@ -1,4 +1,5 @@ import type { TemplateDefinition } from '../types/template.types'; +import { buildEmailHtml } from './waitlist-email-layout'; export const DEFAULT_LOCALE = 'en'; @@ -194,8 +195,275 @@ export const DefaultPushTemplates: TemplateDefinition[] = [ }, ]; +// ── Waitlist Welcome Sequence ── + +function waitlistBody(text: string): string { + return text.replace(/\n/g, '
'); +} + +export const WaitlistEmailTemplates: TemplateDefinition[] = [ + // Email 1: Immediate Waitlist Confirmation + { + id: 'waitlist_confirmation', + name: 'Waitlist Confirmation', + channel: 'email', + locale: 'en', + category: 'waitlist', + subject: 'Welcome to the ShieldAI Waitlist!', + body: `Hi {{name}}, + +You're on the list! + +Welcome to ShieldAI — you're now one step closer to taking control of your digital privacy. + +Here's what happens next: +• We'll keep you updated on our progress and launch timeline +• You'll get early access before the general public +• Your spot on the waitlist: #{{position}} + +In the meantime, follow us for the latest updates: +• Website: https://shieldai.com +• Blog: https://shieldai.com/blog + +Stay safe, +The ShieldAI Team`, + htmlBody: buildEmailHtml({ + previewText: "You're on the list! Welcome to ShieldAI.", + title: "You're on the List! 🛡️", + bodyContent: waitlistBody(`Hi {{name}}, + +Thanks for joining the ShieldAI waitlist. You're now one step closer to taking control of your digital privacy. + +Your spot on the waitlist: #{{position}} + +Here's what to expect: +• Priority early access before the general public +• Launch day updates straight to your inbox +• Exclusive insights on digital privacy and protection + +While you wait, explore our blog for tips on protecting your identity online.`), + ctaText: 'Visit ShieldAI Blog', + ctaUrl: 'https://shieldai.com/blog', + footerNote: 'This confirmation confirms your spot on the ShieldAI waitlist. You received this because you signed up at shieldai.com.', + }), + variables: [ + { name: 'name', type: 'string', required: false, defaultValue: 'there' }, + { name: 'position', type: 'string', required: true }, + { name: 'unsubscribe_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/unsubscribe' }, + ], + }, + { + id: 'waitlist_confirmation', + name: 'Confirmación de Lista de Espera', + channel: 'email', + locale: 'es', + category: 'waitlist', + subject: '¡Bienvenido a la Lista de Espera de ShieldAI!', + body: `Hola {{name}}, + +¡Estás en la lista! + +Bienvenido a ShieldAI — estás un paso más cerca de tomar el control de tu privacidad digital. + +Esto es lo que sigue: +• Te mantendremos al tanto de nuestro progreso y fechas de lanzamiento +• Tendrás acceso anticipado antes que el público general +• Tu lugar en la lista: #{{position}} + +Mantente seguro, +El equipo de ShieldAI`, + htmlBody: buildEmailHtml({ + previewText: '¡Estás en la lista! Bienvenido a ShieldAI.', + title: '¡Estás en la Lista! 🛡️', + bodyContent: waitlistBody(`Hola {{name}}, + +Gracias por unirte a la lista de espera de ShieldAI. Estás un paso más cerca de tomar el control de tu privacidad digital. + +Tu lugar en la lista: #{{position}} + +Esto es lo que puedes esperar: +• Acceso prioritario anticipado antes que el público general +• Actualizaciones del lanzamiento directamente en tu bandeja de entrada +• Consejos exclusivos sobre privacidad y protección digital`), + ctaText: 'Visitar el Blog de ShieldAI', + ctaUrl: 'https://shieldai.com/blog', + footerNote: 'Esta confirmación asegura tu lugar en la lista de espera de ShieldAI. Recibiste esto porque te registraste en shieldai.com.', + }), + variables: [ + { name: 'name', type: 'string', required: false, defaultValue: 'there' }, + { name: 'position', type: 'string', required: true }, + { name: 'unsubscribe_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/unsubscribe' }, + ], + }, + + // Email 2: Day 1 — Intro to ShieldAI + { + id: 'waitlist_intro', + name: 'Welcome to ShieldAI — Intro', + channel: 'email', + locale: 'en', + category: 'waitlist', + subject: 'ShieldAI: Your Privacy Protection Starts Here', + body: `Hi {{name}}, + +Every day, scammers use AI-powered tools to clone voices, craft convincing phishing messages, and steal identities. ShieldAI is built to stop them. + +We monitor what matters most: +• Dark web scans for your phone number, email, and passwords +• AI-powered spam call and text filtering +• Voice cloning detection to protect your family +• Identity theft monitoring and alerts + +And coming soon — home title protection. + +You're on the ground floor of something important. As a waitlist member, you'll get early access, exclusive updates, and a special launch offer. + +Stay safe, +The ShieldAI Team`, + htmlBody: buildEmailHtml({ + previewText: 'Discover how ShieldAI protects you from AI-powered scams.', + title: 'Your Privacy Protection Starts Here', + bodyContent: waitlistBody(`Hi {{name}}, + +Every day, scammers use AI-powered tools to clone voices, craft convincing phishing messages, and steal identities. ShieldAI is built to stop them. + +What we monitor: +• Dark web scans for your phone number, email, and passwords +• AI-powered spam call and text filtering +• Voice cloning detection to protect your family +• Identity theft monitoring and real-time alerts + +And coming soon — home title protection. + +As a waitlist member, you'll get early access, exclusive updates, and a special launch offer.`), + ctaText: 'Learn More About ShieldAI', + ctaUrl: 'https://shieldai.com', + footerNote: 'Email 2 of 4 in your welcome sequence. You received this because you joined the ShieldAI waitlist.', + }), + variables: [ + { name: 'name', type: 'string', required: false, defaultValue: 'there' }, + { name: 'unsubscribe_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/unsubscribe' }, + ], + }, + + // Email 3: Day 3 — Features Deep Dive + { + id: 'waitlist_features', + name: 'ShieldAI Features Overview', + channel: 'email', + locale: 'en', + category: 'waitlist', + subject: 'See What ShieldAI Can Do For You', + body: `Hi {{name}}, + +Let's dive into what ShieldAI actually does. Here's a closer look at each layer of protection: + +🔍 DarkWatch — Dark Web Monitoring +We continuously scan dark web forums, data breaches, and credential dumps for your personal information. If your email, phone, or passwords appear somewhere they shouldn't, you'll know instantly. + +📞 SpamShield — Call & Text Protection +AI-powered filtering that blocks spam calls, detects phishing texts, and flags suspicious numbers before they reach you. Works across your phone lines. + +🎙️ VoicePrint — Voice Clone Detection +One of the most alarming new scams: AI voice cloning. VoicePrint analyzes incoming calls for synthetic voice patterns and alerts you if someone is impersonating a loved one. + +🏠 Coming Soon: Home Title Monitoring +We're building protection against property fraud — alerting you to any changes in your home's title or deed. + +Want to dive deeper? Check out our blog for detailed guides on each feature.`, + htmlBody: buildEmailHtml({ + previewText: 'A closer look at DarkWatch, SpamShield, VoicePrint, and more.', + title: 'See What ShieldAI Can Do For You', + bodyContent: waitlistBody(`Hi {{name}}, + +Let's dive into what ShieldAI actually does: + +🔍 DarkWatch — Dark Web Monitoring +We continuously scan dark web forums, data breaches, and credential dumps for your personal information. If your email, phone, or passwords appear somewhere they shouldn't, you'll know instantly. + +📞 SpamShield — Call & Text Protection +AI-powered filtering that blocks spam calls, detects phishing texts, and flags suspicious numbers before they reach you. + +🎙️ VoicePrint — Voice Clone Detection +One of the most alarming new scams: AI voice cloning. VoicePrint analyzes calls for synthetic voice patterns and alerts you if someone is impersonating a loved one. + +🏠 Coming Soon: Home Title Monitoring +Protection against property fraud — alerting you to changes in your home's title or deed.`), + ctaText: 'Read Our Privacy Guides', + ctaUrl: 'https://shieldai.com/blog', + footerNote: 'Email 3 of 4 in your welcome sequence. You received this because you joined the ShieldAI waitlist.', + }), + variables: [ + { name: 'name', type: 'string', required: false, defaultValue: 'there' }, + { name: 'unsubscribe_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/unsubscribe' }, + ], + }, + + // Email 4: Day 7 — Launch Teaser + { + id: 'waitlist_launch_teaser', + name: 'ShieldAI Launch Teaser', + channel: 'email', + locale: 'en', + category: 'waitlist', + subject: 'Something Big Is Coming — Get Ready', + body: `Hi {{name}}, + +Big news — we're getting ready to launch. + +As an early waitlist member, here's what you need to know: + +🚀 Launch Timeline +We're putting the final touches on ShieldAI and preparing for our public launch. You'll be among the first to get access. + +🎁 Your Early Adopter Perks +• Priority access before the general public +• Exclusive launch pricing for waitlist members +• Free DarkWatch scan setup when you join + +📣 Spread the Word +Know someone who could use better privacy protection? Share your waitlist link and move up the list: + +{{referral_url}} + +We'll be in touch soon with more details. Get ready to take control of your digital life. + +Stay safe, +The ShieldAI Team`, + htmlBody: buildEmailHtml({ + previewText: 'Launch is near. Here\'s what waitlist members need to know.', + title: 'Something Big Is Coming', + bodyContent: waitlistBody(`Hi {{name}}, + +Big news — we're getting ready to launch. + +🚀 Launch Timeline +We're putting the final touches on ShieldAI. You'll be among the first to get access. + +🎁 Your Early Adopter Perks +• Priority access before the general public +• Exclusive launch pricing for waitlist members +• Free DarkWatch scan setup when you join + +📣 Spread the Word +Know someone who could use better privacy protection? Share your referral link: + +{{referral_url}}`), + ctaText: 'Share ShieldAI', + ctaUrl: 'https://shieldai.com', + footerNote: 'Email 4 of 4 in your welcome sequence. This is our last pre-launch update — stay tuned for launch day!', + }), + variables: [ + { name: 'name', type: 'string', required: false, defaultValue: 'there' }, + { name: 'referral_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/waitlist' }, + { name: 'unsubscribe_url', type: 'string', required: false, defaultValue: 'https://shieldai.com/unsubscribe' }, + ], + }, +]; + export const AllDefaultTemplates: TemplateDefinition[] = [ ...DefaultEmailTemplates, + ...WaitlistEmailTemplates, ...DefaultSMSTemplates, ...DefaultPushTemplates, ]; diff --git a/packages/shared-notifications/src/templates/waitlist-email-layout.ts b/packages/shared-notifications/src/templates/waitlist-email-layout.ts new file mode 100644 index 0000000..6a4469d --- /dev/null +++ b/packages/shared-notifications/src/templates/waitlist-email-layout.ts @@ -0,0 +1,137 @@ +export interface EmailLayoutOptions { + previewText: string; + title: string; + bodyContent: string; + ctaText?: string; + ctaUrl?: string; + footerNote?: string; +} + +const BRAND_COLORS = { + bgPrimary: '#0a0f1e', + bgCard: '#1a2332', + textPrimary: '#f1f5f9', + textSecondary: '#94a3b8', + textMuted: '#64748b', + accentPrimary: '#3b82f6', + accentSecondary: '#06b6d4', + borderColor: '#1e293b', +}; + +export function buildEmailHtml(opts: EmailLayoutOptions): string { + const ctaBlock = opts.ctaText && opts.ctaUrl + ? ` + + + + + +
+ ${opts.ctaText} +
+ + ` + : ''; + + const noteBlock = opts.footerNote + ? `${opts.footerNote}` + : ''; + + return ` + + + + + + + ${opts.title} + + + +
${opts.previewText}
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
+ +`; +} diff --git a/packages/web/src/components/WaitlistForm.tsx b/packages/web/src/components/WaitlistForm.tsx index 48fc6c3..515cb5f 100644 --- a/packages/web/src/components/WaitlistForm.tsx +++ b/packages/web/src/components/WaitlistForm.tsx @@ -1,4 +1,4 @@ -import { Component, createSignal } from 'solid-js'; +import { Component, createSignal, onMount } from 'solid-js'; import { trackWaitlistSignup } from '../hooks/useAnalytics'; interface WaitlistFormProps { @@ -7,14 +7,29 @@ interface WaitlistFormProps { buttonText?: string; } +function getUtmParams() { + if (typeof window === 'undefined') return {}; + const params = new URLSearchParams(window.location.search); + return { + utmSource: params.get('utm_source') || undefined, + utmMedium: params.get('utm_medium') || undefined, + utmCampaign: params.get('utm_campaign') || undefined, + }; +} + const WaitlistForm: Component = (props) => { const [email, setEmail] = createSignal(''); const [name, setName] = createSignal(''); const [tier, setTier] = createSignal('basic'); + const [utm, setUtm] = createSignal>({}); const [submitted, setSubmitted] = createSignal(false); const [loading, setLoading] = createSignal(false); const [error, setError] = createSignal(''); + onMount(() => { + setUtm(getUtmParams()); + }); + const variant = props.variant || 'hero'; const handleSubmit = async (e: Event) => { @@ -36,6 +51,7 @@ const WaitlistForm: Component = (props) => { email: email(), name: name() || undefined, tier: tier() !== 'basic' ? tier() : undefined, + ...utm(), }), }); diff --git a/packages/web/src/hooks/useAnalytics.ts b/packages/web/src/hooks/useAnalytics.ts index 482a243..7984e2c 100644 --- a/packages/web/src/hooks/useAnalytics.ts +++ b/packages/web/src/hooks/useAnalytics.ts @@ -2,12 +2,17 @@ type EventParams = Record; const GA_MEASUREMENT_ID = import.meta.env.VITE_GA_MEASUREMENT_ID as string | undefined; const MIXPANEL_TOKEN = import.meta.env.VITE_MIXPANEL_TOKEN as string | undefined; +const META_PIXEL_ID = import.meta.env.VITE_META_PIXEL_ID as string | undefined; +const LINKEDIN_PARTNER_ID = import.meta.env.VITE_LINKEDIN_PARTNER_ID as string | undefined; declare global { interface Window { gtag?: (command: string, target: string, params?: EventParams) => void; - mixpanel?: { track: (event: string, params?: EventParams) => void }; + mixpanel?: { track: (event: string, params?: EventParams) => void; init?: (token: string) => void }; dataLayer?: unknown[]; + fbq?: (...args: unknown[]) => void; + _fbq?: unknown; + lintrk?: (...args: unknown[]) => void; } } @@ -43,9 +48,47 @@ function initMixpanel() { }; } +function initMetaPixel() { + if (!META_PIXEL_ID || typeof window === 'undefined') return; + if (window.fbq) return; + + window.fbq = function fbq() { window._fbq = window._fbq || []; window._fbq.push(arguments); }; + const script = document.createElement('script'); + script.async = true; + script.src = `https://connect.facebook.net/en_US/fbevents.js`; + document.head.appendChild(script); + + window.fbq('init', META_PIXEL_ID); + window.fbq('track', 'PageView'); +} + +function initLinkedInInsight() { + if (!LINKEDIN_PARTNER_ID || typeof window === 'undefined') return; + if (window.lintrk) return; + + window.lintrk = function lintrk() { window.lintrk.q.push(arguments); }; + window.lintrk.q = []; + const script = document.createElement('script'); + script.async = true; + script.src = `https://snap.licdn.com/li.lms-analytics/insight.min.js`; + document.head.appendChild(script); +} + export function initAnalytics() { initGA(); initMixpanel(); + initMetaPixel(); + initLinkedInInsight(); +} + +export function trackMetaEvent(eventName: string, params?: EventParams) { + if (typeof window === 'undefined' || !window.fbq) return; + window.fbq('track', eventName, params); +} + +export function trackLinkedInEvent() { + if (typeof window === 'undefined' || !window.lintrk) return; + window.lintrk('track', { conversion_id: null }); } export function trackEvent(name: string, params?: EventParams) { @@ -60,12 +103,23 @@ export function trackEvent(name: string, params?: EventParams) { } } +function hashEmail(email: string): string { + let hash = 0; + for (let i = 0; i < email.length; i++) { + const char = email.charCodeAt(i); + hash = ((hash << 5) - hash) + char; + hash = hash & hash; + } + return Math.abs(hash).toString(16); +} + export function trackWaitlistSignup(email: string, source?: string, tier?: string) { trackEvent('waitlist_signup', { email, source: source || 'landing_page', tier: tier || 'unknown', }); + trackMetaEvent('Lead', { value: 5.00, currency: 'USD', eventID: hashEmail(email) }); } export function trackPageView(path: string, title?: string) { diff --git a/packages/web/src/index.css b/packages/web/src/index.css index e0de20d..8c21cec 100644 --- a/packages/web/src/index.css +++ b/packages/web/src/index.css @@ -855,6 +855,31 @@ img { color: var(--text-secondary); } +/* Blog Waitlist CTA */ +.blog-waitlist-cta { + background: var(--bg-card); + border-top: 1px solid var(--border-color); + padding: 80px 0; + text-align: center; +} + +.blog-waitlist-cta h2 { + font-size: 2rem; + font-weight: 700; + margin-bottom: 12px; +} + +.blog-waitlist-cta p { + color: var(--text-secondary); + margin-bottom: 32px; + font-size: 1.125rem; +} + +.blog-waitlist-cta .hero-form { + max-width: 500px; + margin: 0 auto; +} + /* Responsive */ @media (max-width: 1024px) { .features-grid { diff --git a/packages/web/src/main.tsx b/packages/web/src/main.tsx index d8b99b2..7c44664 100644 --- a/packages/web/src/main.tsx +++ b/packages/web/src/main.tsx @@ -2,6 +2,7 @@ import { render } from 'solid-js/web'; import { Router, Route } from '@solidjs/router'; import App from './App'; import LandingPage from './pages/LandingPage'; +import AdsLandingPage from './pages/AdsLandingPage'; import BlogPage from './pages/BlogPage'; import BlogPostPage from './pages/BlogPostPage'; import './index.css'; @@ -12,6 +13,7 @@ if (!root) throw new Error('Root element not found'); render(() => ( + diff --git a/packages/web/src/pages/AdsLandingPage.tsx b/packages/web/src/pages/AdsLandingPage.tsx new file mode 100644 index 0000000..44b9ead --- /dev/null +++ b/packages/web/src/pages/AdsLandingPage.tsx @@ -0,0 +1,24 @@ +import { Component, onMount } from 'solid-js'; +import { initAnalytics, trackPageView } from '../hooks/useAnalytics'; +import HeroSection from '../components/HeroSection'; +import FeaturesSection from '../components/FeaturesSection'; +import TierComparison from '../components/TierComparison'; +import Footer from '../components/Footer'; + +const AdsLandingPage: Component = () => { + onMount(() => { + initAnalytics(); + trackPageView('/ads', 'ShieldAI — Ads | AI-Powered Identity Protection'); + }); + + return ( +
+ + + +
+
+ ); +}; + +export default AdsLandingPage; diff --git a/packages/web/src/pages/BlogPage.tsx b/packages/web/src/pages/BlogPage.tsx index 5052e1b..89a8226 100644 --- a/packages/web/src/pages/BlogPage.tsx +++ b/packages/web/src/pages/BlogPage.tsx @@ -1,5 +1,6 @@ import { Component, createSignal, onMount, For } from 'solid-js'; import { initAnalytics, trackPageView } from '../hooks/useAnalytics'; +import WaitlistForm from '../components/WaitlistForm'; import Footer from '../components/Footer'; interface BlogPost { @@ -104,6 +105,14 @@ const BlogPage: Component = () => { +
+
+

Stay Protected

+

Get notified when we publish new guides and early access to ShieldAI.

+ +
+
+