medusajs-documents-plugin 1.1.32 → 1.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,60 +27,128 @@ async function GET(req, res) {
27
27
  const PRESETS = {
28
28
  warranty: {
29
29
  title: "Warranty Certificate",
30
- body_text: "This official certificate verifies that the aforementioned device has undergone professional repairs with genuine OEM-specification components and has passed our multi-point quality assurance inspection.\n\nAll hardware replacements and associated workshop labor are covered under our comprehensive 90-day warranty against defects in parts and workmanship. Please retain this document for warranty verification.",
30
+ body_text: "This official Warranty Certificate certifies that the serviced hardware specified below has undergone complete technical overhaul, component replacement, and bench testing in accordance with manufacturer specifications.\n\nAll genuine replacement components and associated technical workshop labor are guaranteed against functional defects for a period of 90 days from the date of issue. Urban Device Care warrants that all installed modules have passed rigorous electrical load and multi-point quality assurance protocols.",
31
31
  items: [
32
- { title: "OEM Component & Hardware Warranty", description: "90-Day Comprehensive Hardware Protection", quantity: 1, unit_price: 0, total: 0 },
33
- { title: "Workshop Quality Clearance", description: "Multi-Point Hardware Bench Certification", quantity: 1, unit_price: 0, total: 0 },
32
+ { title: "OEM Screen Assembly & Digitizer Replacement", description: "90-Day Comprehensive Warranty Coverage against touch and display anomalies", quantity: 1, unit_price: 0, total: 0 },
33
+ { title: "Internal Power Management & Battery Calibration", description: "Warranty against capacity degradation and voltage fluctuations", quantity: 1, unit_price: 0, total: 0 },
34
+ { title: "Clean-Room Workshop Installation & Bench Clearance", description: "Certified labor coverage and water/dust ingress seal integrity", quantity: 1, unit_price: 0, total: 0 },
34
35
  ],
36
+ custom_fields: {
37
+ "Device Model": "Apple iPhone 15 Pro Max (256GB - Natural Titanium)",
38
+ "Serial / IMEI": "F2LZ90K8MD6R",
39
+ "Ticket Reference": "RT-2024-8841",
40
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
41
+ "Coverage Period": "90 Days from Date of Collection",
42
+ "Warranty Status": "Active & Validated",
43
+ },
44
+ notes: "Warranty excludes accidental damage, liquid ingress, unauthorized third-party tampering, or software jailbreaking. Please retain this document and quote your ticket reference number for any warranty claims.",
35
45
  },
36
- diagnostic: {
37
- title: "Diagnostic & Hardware Inspection Report",
38
- body_text: "Our certified repair specialists have completed a hardware and firmware inspection of your equipment. Below are the confirmed technical findings, component test measurements, and technician notes regarding the state of your device.",
46
+ service_completion: {
47
+ title: "Certificate of Service Completion",
48
+ body_text: "This Certificate of Service Completion verifies that all diagnostic, repair, and maintenance procedures authorized under the referenced work order have been satisfactorily executed in full adherence to ISO/IPC hardware rework standards.\n\nThe equipment has successfully cleared all pre-delivery functional verifications, thermal load evaluations, and electrical safety diagnostics, and is officially released as fully operational.",
39
49
  items: [
40
- { title: "Logic Board & Power Rail Inspection", description: "Voltage drop and circuit continuity tested", quantity: 1, unit_price: 0, total: 0 },
41
- { title: "Display & Touch Digitizer Diagnostic", description: "Digitizer touch grid, TrueTone, and Ambient Sensor test", quantity: 1, unit_price: 0, total: 0 },
42
- { title: "Battery Health & Thermal Profiling", description: "Cycle count, capacity retention, and charge testing", quantity: 1, unit_price: 0, total: 0 },
50
+ { title: "Hardware Overhaul & Micro-Soldering Service", description: "Replaced degraded SMD power filtering capacitors and restored logic board rails", quantity: 1, unit_price: 0, total: 0 },
51
+ { title: "Firmware Diagnostics & Peripheral Bench Testing", description: "100% operational clearance on audio codecs, cameras, biometric sensors, and radios", quantity: 1, unit_price: 0, total: 0 },
52
+ { title: "Acoustic Chamber & Thermal Stress Verification", description: "Pass: Maximum load temperature maintained within normal threshold (38°C)", quantity: 1, unit_price: 0, total: 0 },
43
53
  ],
54
+ custom_fields: {
55
+ "Device Model": "MacBook Pro 16-inch (M2 Max - Space Grey)",
56
+ "Serial / IMEI": "C02G8027MD6T",
57
+ "Ticket Reference": "RT-2024-9104",
58
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
59
+ "Quality Control Inspector": "Kevin M. (Senior QA Specialist)",
60
+ "Final Testing Result": "PASSED - All Benchmarks Satisfied",
61
+ },
62
+ notes: "All original customer data was preserved intact. Device firmware updated to current stable release. The client has 7 days from collection to report any cosmetic or configuration discrepancies.",
44
63
  },
45
- service_completion: {
46
- title: "Certificate of Service Completion",
47
- body_text: "This document certifies that the requested overhaul, maintenance, and repair services have been executed in full accordance with industry service standards. The device has cleared bench testing and is ready for customer collection.",
64
+ destruction: {
65
+ title: "Certificate of Destruction & Eco-Disposal",
66
+ body_text: "This Certificate of Destruction legally certifies that the decommissioned computing equipment and electronic media detailed herein have been securely and irrevocably destroyed in compliance with NIST SP 800-88 Rev. 1 guidelines and WEEE environmental disposal regulations.\n\nAll storage media have undergone physical de-manufacturing, mechanical shredding, and complete demagnetization, ensuring zero residual data retrievability. Non-hazardous materials have been transferred to certified green-reclamation facilities.",
67
+ items: [
68
+ { title: "Physical Demanufacturing & High-Torque Shredding", description: "Particle size reduced below DIN 66399 Level H-5 security standards", quantity: 1, unit_price: 0, total: 0 },
69
+ { title: "Certified NIST 800-88 Cryptographic & Magnetic Sanitization", description: "Complete data eradication across all solid-state and magnetic platters", quantity: 1, unit_price: 0, total: 0 },
70
+ { title: "Hazardous Materials & Lithium Battery Eco-Reclamation", description: "Zero-landfill certified chemical neutralization and precious metal recovery", quantity: 1, unit_price: 0, total: 0 },
71
+ ],
72
+ custom_fields: {
73
+ "Device Model": "Dell PowerEdge R740 Server / 4x 1.92TB NVMe",
74
+ "Serial / IMEI": "SN-DELL-882194-X",
75
+ "Ticket Reference": "RT-2024-7712",
76
+ "Destruction Method": "Physical Shear Shredding & Degaussing",
77
+ "Compliance Standard": "NIST SP 800-88 Rev. 1 & WEEE Directive",
78
+ "Authorized Disposal Officer": "Bonifencia A. (Certified Waste Handler)",
79
+ },
80
+ notes: "Urban Device Care Ltd indemnifies the client against data breach liabilities originating from the specified serialized assets following the verified execution of destruction protocols.",
81
+ },
82
+ diagnostic: {
83
+ title: "Diagnostic & Hardware Inspection Report",
84
+ body_text: "Our certified repair specialists have concluded an in-depth hardware, firmware, and electrical diagnostic examination of your device. The comprehensive technical findings, voltage line readings, and component health metrics are detailed below alongside our certified remediation roadmap.",
48
85
  items: [
49
- { title: "Hardware Servicing & Component Replacement", description: "Executed per work order specifications", quantity: 1, unit_price: 0, total: 0 },
50
- { title: "Final Bench Testing & Quality Control", description: "Passed 100% functional test criteria", quantity: 1, unit_price: 0, total: 0 },
86
+ { title: "Logic Board Primary Power Rail Diagnostic", description: "PP_VDD_MAIN measured at 3.82V (Nominal). No ground short-circuits detected on primary PMIC", quantity: 1, unit_price: 0, total: 0 },
87
+ { title: "Display Digitizer & Touch Array Profiling", description: "Matrix micro-fracture identified in bottom-left corner causing erratic capacitive touch feedback", quantity: 1, unit_price: 0, total: 0 },
88
+ { title: "Battery Health & Internal Impedance Evaluation", description: "Current capacity: 74% of design capacity (842 cycles). Service battery recommended", quantity: 1, unit_price: 0, total: 0 },
51
89
  ],
90
+ custom_fields: {
91
+ "Device Model": "Samsung Galaxy S23 Ultra (512GB - Phantom Black)",
92
+ "Serial / IMEI": "358941092847120",
93
+ "Ticket Reference": "RT-2024-6523",
94
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
95
+ "Diagnostic Verdict": "Component Replacement Feasible",
96
+ "Estimated Labor Time": "2.5 Workshop Hours",
97
+ },
98
+ notes: "Diagnostic findings remain valid for 14 calendar days. Internal safety seals have been inspected and logged.",
52
99
  },
53
100
  handover: {
54
101
  title: "Equipment Handover & Custody Release Agreement",
55
- body_text: "This handover document certifies the return and physical custody release of customer equipment and associated accessories from Urban Device Care. The customer acknowledges receipt of equipment in verified working order.",
102
+ body_text: "This Handover Agreement legally documents the transfer of custody of the repaired equipment and accessories listed below from Urban Device Care to the client or authorized corporate representative.\n\nThe recipient confirms that the device has been inspected, tested in their presence (including display, camera, audio, and network connectivity), and accepted in verified good working condition.",
56
103
  items: [
57
- { title: "Device Handover & Physical Release", description: "Customer custody confirmed", quantity: 1, unit_price: 0, total: 0 },
58
- { title: "Accessories Handover", description: "Chargers, cases, and cables returned in verified condition", quantity: 1, unit_price: 0, total: 0 },
104
+ { title: "Primary Computing Device Release", description: "Serial verified, cosmetic inspection performed, customer account signed in", quantity: 1, unit_price: 0, total: 0 },
105
+ { title: "OEM 96W USB-C Power Adapter & Braided Cable", description: "Tested and verified delivering 20V/4.8A under load", quantity: 1, unit_price: 0, total: 0 },
106
+ { title: "Protective Hard Case & Accessories", description: "Returned in clean, intact custody state", quantity: 1, unit_price: 0, total: 0 },
59
107
  ],
108
+ custom_fields: {
109
+ "Device Model": "Lenovo ThinkPad X1 Carbon Gen 10",
110
+ "Serial / IMEI": "PF-29X810-22",
111
+ "Ticket Reference": "RT-2024-5390",
112
+ "Released By": "Bonifencia A. (Urban Device Care)",
113
+ "Received By": "Authorized Client Representative",
114
+ "Handover Condition": "Inspected & Approved in Workshop",
115
+ },
116
+ notes: "By accepting handover, the client acknowledges satisfactory return of all custody items and confirms device operability.",
60
117
  },
61
118
  proforma: {
62
119
  title: "Commercial Quotation (Proforma)",
63
- body_text: "Thank you for choosing Urban Device Care. Below is an itemized breakdown of estimated hardware parts, workshop labor, and turnaround schedule for your project. This quote is valid for 14 calendar days.",
120
+ body_text: "Thank you for choosing Urban Device Care. Below is an itemized commercial quotation detailing required OEM components, workshop labor, precision calibration, and expected turnaround schedule for your equipment overhaul.\n\nThis quotation is valid for 14 calendar days from the date of issue. Upon formal approval, component procurement and bench allocation will commence immediately.",
64
121
  items: [
65
- { title: "OEM Replacement Hardware Assembly", description: "Brand new replacement module", quantity: 1, unit_price: 15000, total: 15000 },
66
- { title: "Workshop Labor & Clean-Room Installation", description: "Certified technician installation & calibration", quantity: 1, unit_price: 4500, total: 4500 },
122
+ { title: "OEM Liquid Retina XDR Display Assembly", description: "Brand new original factory panel with factory color calibration", quantity: 1, unit_price: 42000, total: 42000 },
123
+ { title: "Clean-Room Workshop Installation & Sensor Alignment", description: "Certified clean-room installation, gasket replacement & TrueTone calibration", quantity: 1, unit_price: 6500, total: 6500 },
124
+ { title: "Hydrophobic Dust & Water Ingress Seal Restoration", description: "OEM adhesive barrier pressure cured to IP68 rating", quantity: 1, unit_price: 2500, total: 2500 },
67
125
  ],
126
+ custom_fields: {
127
+ "Device Model": "Apple iPad Pro 12.9-inch (6th Gen - Wi-Fi + Cellular)",
128
+ "Serial / IMEI": "DLXW9201M93K",
129
+ "Ticket Reference": "RT-2024-4190",
130
+ "Estimator / Technician": "Bonifencia A.",
131
+ "Validity Period": "14 Calendar Days",
132
+ "Estimated Turnaround": "24 - 48 Hours",
133
+ },
134
+ notes: "All replaced hardware carries our standard 90-day warranty coverage. Payment accepted via M-Pesa, Bank Transfer, or Credit/Debit Card.",
68
135
  },
69
136
  trade_in: {
70
137
  title: "Device Trade-In & Buyback Agreement",
71
- body_text: "This agreement confirms the valuation, transfer of title, and trade-in credit for the listed customer hardware. Customer verifies legal ownership and consents to complete data sanitation and ownership transfer.",
72
- items: [
73
- { title: "Trade-In Device Valuation & Credit", description: "Assessed Grade A condition allowance", quantity: 1, unit_price: 25000, total: 25000 },
74
- { title: "Data Sanitization & Ownership Transfer", description: "Certified NIST 800-88 cryptographic wipe", quantity: 1, unit_price: 0, total: 0 },
75
- ],
76
- },
77
- destruction: {
78
- title: "Certificate of Destruction & Eco-Disposal",
79
- body_text: "This certificate confirms that the decommissioned hardware listed below has been safely demanufactured, shredded, or recycled in full compliance with WEEE and data destruction standards.",
138
+ body_text: "This Agreement formalizes the title transfer, functional evaluation, and agreed trade-in credit valuation for the customer-owned equipment listed below.\n\nThe seller warrants that they are the sole lawful owner of the equipment, that it is free of all liens, financial encumbrances, iCloud/Google activation locks, and corporate MDM profiles. Urban Device Care agrees to apply the confirmed credit towards service fees or disbursement.",
80
139
  items: [
81
- { title: "Hardware Demanufacturing & Shredding", description: "Certified environmental destruction", quantity: 1, unit_price: 0, total: 0 },
82
- { title: "Hazardous Materials Recycling", description: "Zero-landfill lithium battery reclamation", quantity: 1, unit_price: 0, total: 0 },
140
+ { title: "Trade-In Device Valuation Allowance (Grade A)", description: "Full functional clearance: battery health 91%, minor bezel wear, pristine screen", quantity: 1, unit_price: 35000, total: 35000 },
141
+ { title: "NIST 800-88 Cryptographic Data Sanitation Protocol", description: "Certified factory reset and firmware wipe with zero data retention guarantee", quantity: 1, unit_price: 0, total: 0 },
83
142
  ],
143
+ custom_fields: {
144
+ "Device Model": "Apple iPhone 13 Pro (128GB - Sierra Blue)",
145
+ "Serial / IMEI": "G6TD9021ML8R",
146
+ "Ticket Reference": "RT-2024-3829",
147
+ "Activation Lock": "Removed & Verified Off",
148
+ "Assessed Grade": "Grade A (Excellent)",
149
+ "Evaluation Specialist": "Bonifencia A.",
150
+ },
151
+ notes: "Ownership transfers immediately upon document execution. Valuation is binding and irrevocable once trade-in payout or store credit is issued.",
84
152
  },
85
153
  };
86
154
  const activePreset = isCustom ? (PRESETS[rawPreset] || PRESETS.warranty) : null;
@@ -178,7 +246,7 @@ async function GET(req, res) {
178
246
  : isEstimate
179
247
  ? "This quotation is valid for 14 calendar days from the date of issue."
180
248
  : isCustom
181
- ? "Please retain this official document for your records and compliance."
249
+ ? (activePreset?.notes || "Please retain this official document for your records and compliance.")
182
250
  : "Thank you for choosing Urban Device Care. Payment details above.",
183
251
  body_text: isCustom
184
252
  ? activePreset.body_text
@@ -192,7 +260,9 @@ async function GET(req, res) {
192
260
  "Cosmetic Condition": "Light casing scuffs; screen fractured",
193
261
  "Accessories Left": "None (Unit only)",
194
262
  }
195
- : undefined,
263
+ : isCustom && activePreset?.custom_fields
264
+ ? activePreset.custom_fields
265
+ : undefined,
196
266
  };
197
267
  const pdfBuffer = await pdfkit_generator_1.PDFKitGenerator.generate(sampleData, style);
198
268
  const totalLength = pdfBuffer.length;
@@ -224,4 +294,4 @@ async function GET(req, res) {
224
294
  }
225
295
  // HEAD /admin/documents/templates/preview
226
296
  exports.HEAD = GET;
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkFrT0M7QUF6T0QsZ0VBQW9FO0FBRXBFLCtFQUF5RjtBQUU1RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsK0lBQStJO0FBQ3hJLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFX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
297
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkF3U0M7QUEvU0QsZ0VBQW9FO0FBRXBFLCtFQUF5RjtBQUU1RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsK0lBQStJO0FBQ3hJLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFX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
@@ -27,60 +27,128 @@ async function GET(req, res) {
27
27
  const PRESETS = {
28
28
  warranty: {
29
29
  title: "Warranty Certificate",
30
- body_text: "This official certificate verifies that the aforementioned device has undergone professional repairs with genuine OEM-specification components and has passed our multi-point quality assurance inspection.\n\nAll hardware replacements and associated workshop labor are covered under our comprehensive 90-day warranty against defects in parts and workmanship. Please retain this document for warranty verification.",
30
+ body_text: "This official Warranty Certificate certifies that the serviced hardware specified below has undergone complete technical overhaul, component replacement, and bench testing in accordance with manufacturer specifications.\n\nAll genuine replacement components and associated technical workshop labor are guaranteed against functional defects for a period of 90 days from the date of issue. Urban Device Care warrants that all installed modules have passed rigorous electrical load and multi-point quality assurance protocols.",
31
31
  items: [
32
- { title: "OEM Component & Hardware Warranty", description: "90-Day Comprehensive Hardware Protection", quantity: 1, unit_price: 0, total: 0 },
33
- { title: "Workshop Quality Clearance", description: "Multi-Point Hardware Bench Certification", quantity: 1, unit_price: 0, total: 0 },
32
+ { title: "OEM Screen Assembly & Digitizer Replacement", description: "90-Day Comprehensive Warranty Coverage against touch and display anomalies", quantity: 1, unit_price: 0, total: 0 },
33
+ { title: "Internal Power Management & Battery Calibration", description: "Warranty against capacity degradation and voltage fluctuations", quantity: 1, unit_price: 0, total: 0 },
34
+ { title: "Clean-Room Workshop Installation & Bench Clearance", description: "Certified labor coverage and water/dust ingress seal integrity", quantity: 1, unit_price: 0, total: 0 },
34
35
  ],
36
+ custom_fields: {
37
+ "Device Model": "Apple iPhone 15 Pro Max (256GB - Natural Titanium)",
38
+ "Serial / IMEI": "F2LZ90K8MD6R",
39
+ "Ticket Reference": "RT-2024-8841",
40
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
41
+ "Coverage Period": "90 Days from Date of Collection",
42
+ "Warranty Status": "Active & Validated",
43
+ },
44
+ notes: "Warranty excludes accidental damage, liquid ingress, unauthorized third-party tampering, or software jailbreaking. Please retain this document and quote your ticket reference number for any warranty claims.",
35
45
  },
36
- diagnostic: {
37
- title: "Diagnostic & Hardware Inspection Report",
38
- body_text: "Our certified repair specialists have completed a hardware and firmware inspection of your equipment. Below are the confirmed technical findings, component test measurements, and technician notes regarding the state of your device.",
46
+ service_completion: {
47
+ title: "Certificate of Service Completion",
48
+ body_text: "This Certificate of Service Completion verifies that all diagnostic, repair, and maintenance procedures authorized under the referenced work order have been satisfactorily executed in full adherence to ISO/IPC hardware rework standards.\n\nThe equipment has successfully cleared all pre-delivery functional verifications, thermal load evaluations, and electrical safety diagnostics, and is officially released as fully operational.",
39
49
  items: [
40
- { title: "Logic Board & Power Rail Inspection", description: "Voltage drop and circuit continuity tested", quantity: 1, unit_price: 0, total: 0 },
41
- { title: "Display & Touch Digitizer Diagnostic", description: "Digitizer touch grid, TrueTone, and Ambient Sensor test", quantity: 1, unit_price: 0, total: 0 },
42
- { title: "Battery Health & Thermal Profiling", description: "Cycle count, capacity retention, and charge testing", quantity: 1, unit_price: 0, total: 0 },
50
+ { title: "Hardware Overhaul & Micro-Soldering Service", description: "Replaced degraded SMD power filtering capacitors and restored logic board rails", quantity: 1, unit_price: 0, total: 0 },
51
+ { title: "Firmware Diagnostics & Peripheral Bench Testing", description: "100% operational clearance on audio codecs, cameras, biometric sensors, and radios", quantity: 1, unit_price: 0, total: 0 },
52
+ { title: "Acoustic Chamber & Thermal Stress Verification", description: "Pass: Maximum load temperature maintained within normal threshold (38°C)", quantity: 1, unit_price: 0, total: 0 },
43
53
  ],
54
+ custom_fields: {
55
+ "Device Model": "MacBook Pro 16-inch (M2 Max - Space Grey)",
56
+ "Serial / IMEI": "C02G8027MD6T",
57
+ "Ticket Reference": "RT-2024-9104",
58
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
59
+ "Quality Control Inspector": "Kevin M. (Senior QA Specialist)",
60
+ "Final Testing Result": "PASSED - All Benchmarks Satisfied",
61
+ },
62
+ notes: "All original customer data was preserved intact. Device firmware updated to current stable release. The client has 7 days from collection to report any cosmetic or configuration discrepancies.",
44
63
  },
45
- service_completion: {
46
- title: "Certificate of Service Completion",
47
- body_text: "This document certifies that the requested overhaul, maintenance, and repair services have been executed in full accordance with industry service standards. The device has cleared bench testing and is ready for customer collection.",
64
+ destruction: {
65
+ title: "Certificate of Destruction & Eco-Disposal",
66
+ body_text: "This Certificate of Destruction legally certifies that the decommissioned computing equipment and electronic media detailed herein have been securely and irrevocably destroyed in compliance with NIST SP 800-88 Rev. 1 guidelines and WEEE environmental disposal regulations.\n\nAll storage media have undergone physical de-manufacturing, mechanical shredding, and complete demagnetization, ensuring zero residual data retrievability. Non-hazardous materials have been transferred to certified green-reclamation facilities.",
67
+ items: [
68
+ { title: "Physical Demanufacturing & High-Torque Shredding", description: "Particle size reduced below DIN 66399 Level H-5 security standards", quantity: 1, unit_price: 0, total: 0 },
69
+ { title: "Certified NIST 800-88 Cryptographic & Magnetic Sanitization", description: "Complete data eradication across all solid-state and magnetic platters", quantity: 1, unit_price: 0, total: 0 },
70
+ { title: "Hazardous Materials & Lithium Battery Eco-Reclamation", description: "Zero-landfill certified chemical neutralization and precious metal recovery", quantity: 1, unit_price: 0, total: 0 },
71
+ ],
72
+ custom_fields: {
73
+ "Device Model": "Dell PowerEdge R740 Server / 4x 1.92TB NVMe",
74
+ "Serial / IMEI": "SN-DELL-882194-X",
75
+ "Ticket Reference": "RT-2024-7712",
76
+ "Destruction Method": "Physical Shear Shredding & Degaussing",
77
+ "Compliance Standard": "NIST SP 800-88 Rev. 1 & WEEE Directive",
78
+ "Authorized Disposal Officer": "Bonifencia A. (Certified Waste Handler)",
79
+ },
80
+ notes: "Urban Device Care Ltd indemnifies the client against data breach liabilities originating from the specified serialized assets following the verified execution of destruction protocols.",
81
+ },
82
+ diagnostic: {
83
+ title: "Diagnostic & Hardware Inspection Report",
84
+ body_text: "Our certified repair specialists have concluded an in-depth hardware, firmware, and electrical diagnostic examination of your device. The comprehensive technical findings, voltage line readings, and component health metrics are detailed below alongside our certified remediation roadmap.",
48
85
  items: [
49
- { title: "Hardware Servicing & Component Replacement", description: "Executed per work order specifications", quantity: 1, unit_price: 0, total: 0 },
50
- { title: "Final Bench Testing & Quality Control", description: "Passed 100% functional test criteria", quantity: 1, unit_price: 0, total: 0 },
86
+ { title: "Logic Board Primary Power Rail Diagnostic", description: "PP_VDD_MAIN measured at 3.82V (Nominal). No ground short-circuits detected on primary PMIC", quantity: 1, unit_price: 0, total: 0 },
87
+ { title: "Display Digitizer & Touch Array Profiling", description: "Matrix micro-fracture identified in bottom-left corner causing erratic capacitive touch feedback", quantity: 1, unit_price: 0, total: 0 },
88
+ { title: "Battery Health & Internal Impedance Evaluation", description: "Current capacity: 74% of design capacity (842 cycles). Service battery recommended", quantity: 1, unit_price: 0, total: 0 },
51
89
  ],
90
+ custom_fields: {
91
+ "Device Model": "Samsung Galaxy S23 Ultra (512GB - Phantom Black)",
92
+ "Serial / IMEI": "358941092847120",
93
+ "Ticket Reference": "RT-2024-6523",
94
+ "Technician": "Bonifencia A. (Lead Certified Engineer)",
95
+ "Diagnostic Verdict": "Component Replacement Feasible",
96
+ "Estimated Labor Time": "2.5 Workshop Hours",
97
+ },
98
+ notes: "Diagnostic findings remain valid for 14 calendar days. Internal safety seals have been inspected and logged.",
52
99
  },
53
100
  handover: {
54
101
  title: "Equipment Handover & Custody Release Agreement",
55
- body_text: "This handover document certifies the return and physical custody release of customer equipment and associated accessories from Urban Device Care. The customer acknowledges receipt of equipment in verified working order.",
102
+ body_text: "This Handover Agreement legally documents the transfer of custody of the repaired equipment and accessories listed below from Urban Device Care to the client or authorized corporate representative.\n\nThe recipient confirms that the device has been inspected, tested in their presence (including display, camera, audio, and network connectivity), and accepted in verified good working condition.",
56
103
  items: [
57
- { title: "Device Handover & Physical Release", description: "Customer custody confirmed", quantity: 1, unit_price: 0, total: 0 },
58
- { title: "Accessories Handover", description: "Chargers, cases, and cables returned in verified condition", quantity: 1, unit_price: 0, total: 0 },
104
+ { title: "Primary Computing Device Release", description: "Serial verified, cosmetic inspection performed, customer account signed in", quantity: 1, unit_price: 0, total: 0 },
105
+ { title: "OEM 96W USB-C Power Adapter & Braided Cable", description: "Tested and verified delivering 20V/4.8A under load", quantity: 1, unit_price: 0, total: 0 },
106
+ { title: "Protective Hard Case & Accessories", description: "Returned in clean, intact custody state", quantity: 1, unit_price: 0, total: 0 },
59
107
  ],
108
+ custom_fields: {
109
+ "Device Model": "Lenovo ThinkPad X1 Carbon Gen 10",
110
+ "Serial / IMEI": "PF-29X810-22",
111
+ "Ticket Reference": "RT-2024-5390",
112
+ "Released By": "Bonifencia A. (Urban Device Care)",
113
+ "Received By": "Authorized Client Representative",
114
+ "Handover Condition": "Inspected & Approved in Workshop",
115
+ },
116
+ notes: "By accepting handover, the client acknowledges satisfactory return of all custody items and confirms device operability.",
60
117
  },
61
118
  proforma: {
62
119
  title: "Commercial Quotation (Proforma)",
63
- body_text: "Thank you for choosing Urban Device Care. Below is an itemized breakdown of estimated hardware parts, workshop labor, and turnaround schedule for your project. This quote is valid for 14 calendar days.",
120
+ body_text: "Thank you for choosing Urban Device Care. Below is an itemized commercial quotation detailing required OEM components, workshop labor, precision calibration, and expected turnaround schedule for your equipment overhaul.\n\nThis quotation is valid for 14 calendar days from the date of issue. Upon formal approval, component procurement and bench allocation will commence immediately.",
64
121
  items: [
65
- { title: "OEM Replacement Hardware Assembly", description: "Brand new replacement module", quantity: 1, unit_price: 15000, total: 15000 },
66
- { title: "Workshop Labor & Clean-Room Installation", description: "Certified technician installation & calibration", quantity: 1, unit_price: 4500, total: 4500 },
122
+ { title: "OEM Liquid Retina XDR Display Assembly", description: "Brand new original factory panel with factory color calibration", quantity: 1, unit_price: 42000, total: 42000 },
123
+ { title: "Clean-Room Workshop Installation & Sensor Alignment", description: "Certified clean-room installation, gasket replacement & TrueTone calibration", quantity: 1, unit_price: 6500, total: 6500 },
124
+ { title: "Hydrophobic Dust & Water Ingress Seal Restoration", description: "OEM adhesive barrier pressure cured to IP68 rating", quantity: 1, unit_price: 2500, total: 2500 },
67
125
  ],
126
+ custom_fields: {
127
+ "Device Model": "Apple iPad Pro 12.9-inch (6th Gen - Wi-Fi + Cellular)",
128
+ "Serial / IMEI": "DLXW9201M93K",
129
+ "Ticket Reference": "RT-2024-4190",
130
+ "Estimator / Technician": "Bonifencia A.",
131
+ "Validity Period": "14 Calendar Days",
132
+ "Estimated Turnaround": "24 - 48 Hours",
133
+ },
134
+ notes: "All replaced hardware carries our standard 90-day warranty coverage. Payment accepted via M-Pesa, Bank Transfer, or Credit/Debit Card.",
68
135
  },
69
136
  trade_in: {
70
137
  title: "Device Trade-In & Buyback Agreement",
71
- body_text: "This agreement confirms the valuation, transfer of title, and trade-in credit for the listed customer hardware. Customer verifies legal ownership and consents to complete data sanitation and ownership transfer.",
72
- items: [
73
- { title: "Trade-In Device Valuation & Credit", description: "Assessed Grade A condition allowance", quantity: 1, unit_price: 25000, total: 25000 },
74
- { title: "Data Sanitization & Ownership Transfer", description: "Certified NIST 800-88 cryptographic wipe", quantity: 1, unit_price: 0, total: 0 },
75
- ],
76
- },
77
- destruction: {
78
- title: "Certificate of Destruction & Eco-Disposal",
79
- body_text: "This certificate confirms that the decommissioned hardware listed below has been safely demanufactured, shredded, or recycled in full compliance with WEEE and data destruction standards.",
138
+ body_text: "This Agreement formalizes the title transfer, functional evaluation, and agreed trade-in credit valuation for the customer-owned equipment listed below.\n\nThe seller warrants that they are the sole lawful owner of the equipment, that it is free of all liens, financial encumbrances, iCloud/Google activation locks, and corporate MDM profiles. Urban Device Care agrees to apply the confirmed credit towards service fees or disbursement.",
80
139
  items: [
81
- { title: "Hardware Demanufacturing & Shredding", description: "Certified environmental destruction", quantity: 1, unit_price: 0, total: 0 },
82
- { title: "Hazardous Materials Recycling", description: "Zero-landfill lithium battery reclamation", quantity: 1, unit_price: 0, total: 0 },
140
+ { title: "Trade-In Device Valuation Allowance (Grade A)", description: "Full functional clearance: battery health 91%, minor bezel wear, pristine screen", quantity: 1, unit_price: 35000, total: 35000 },
141
+ { title: "NIST 800-88 Cryptographic Data Sanitation Protocol", description: "Certified factory reset and firmware wipe with zero data retention guarantee", quantity: 1, unit_price: 0, total: 0 },
83
142
  ],
143
+ custom_fields: {
144
+ "Device Model": "Apple iPhone 13 Pro (128GB - Sierra Blue)",
145
+ "Serial / IMEI": "G6TD9021ML8R",
146
+ "Ticket Reference": "RT-2024-3829",
147
+ "Activation Lock": "Removed & Verified Off",
148
+ "Assessed Grade": "Grade A (Excellent)",
149
+ "Evaluation Specialist": "Bonifencia A.",
150
+ },
151
+ notes: "Ownership transfers immediately upon document execution. Valuation is binding and irrevocable once trade-in payout or store credit is issued.",
84
152
  },
85
153
  };
86
154
  const activePreset = isCustom ? (PRESETS[rawPreset] || PRESETS.warranty) : null;
@@ -178,7 +246,7 @@ async function GET(req, res) {
178
246
  : isEstimate
179
247
  ? "This quotation is valid for 14 calendar days from the date of issue."
180
248
  : isCustom
181
- ? "Please retain this official document for your records and compliance."
249
+ ? (activePreset?.notes || "Please retain this official document for your records and compliance.")
182
250
  : "Thank you for choosing Urban Device Care. Payment details above.",
183
251
  body_text: isCustom
184
252
  ? activePreset.body_text
@@ -192,7 +260,9 @@ async function GET(req, res) {
192
260
  "Cosmetic Condition": "Light casing scuffs; screen fractured",
193
261
  "Accessories Left": "None (Unit only)",
194
262
  }
195
- : undefined,
263
+ : isCustom && activePreset?.custom_fields
264
+ ? activePreset.custom_fields
265
+ : undefined,
196
266
  };
197
267
  const pdfBuffer = await pdfkit_generator_1.PDFKitGenerator.generate(sampleData, style);
198
268
  const totalLength = pdfBuffer.length;
@@ -227,4 +297,4 @@ async function GET(req, res) {
227
297
  }
228
298
  // HEAD /documents/templates/preview
229
299
  exports.HEAD = GET;
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkFvT0M7QUEzT0QsNkRBQWlFO0FBRWpFLDRFQUFzRjtBQUV6RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsaUtBQWlLO0FBQzFKLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FB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
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2RvY3VtZW50cy90ZW1wbGF0ZXMvcHJldmlldy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxrQkEwU0M7QUFqVEQsNkRBQWlFO0FBRWpFLDRFQUFzRjtBQUV6RSxRQUFBLFlBQVksR0FBRyxLQUFLLENBQUM7QUFFbEMsaUtBQWlLO0FBQzFKLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxJQUFJLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBMEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsNEJBQWdCLENBQUMsQ0FBQztRQUNuRixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFNUYsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sV0FBVyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBRW5FLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBeUIsQ0FBQztRQUUxRixNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssVUFBVSxDQUFDO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksS0FBSyxRQUFRLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQztRQUNyQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssY0FBYyxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxVQUFVLENBQUM7UUFFdkMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksSUFBSSx1QkFBdUIsQ0FBQztRQUNyRSxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFdEUseUNBQXlDO1FBQ3pDLE1BQU0sT0FBTyxHQUErSDtZQUMxSSxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLHNCQUFzQjtnQkFDN0IsU0FBUyxFQUFFLDZnQkFBNmdCO2dCQUN4aEIsS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLDZDQUE2QyxFQUFFLFdBQVcsRUFBRSw0RUFBNEUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDekwsRUFBRSxLQUFLLEVBQUUsaURBQWlELEVBQUUsV0FBVyxFQUFFLGdFQUFnRSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUNqTCxFQUFFLEtBQUssRUFBRSxvREFBb0QsRUFBRSxXQUFXLEVBQUUsZ0VBQWdFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ3JMO2dCQUNELGFBQWEsRUFBRTtvQkFDYixjQUFjLEVBQUUsb0RBQW9EO29CQUNwRSxlQUFlLEVBQUUsY0FBYztvQkFDL0Isa0JBQWtCLEVBQUUsY0FBYztvQkFDbEMsWUFBWSxFQUFFLHlDQUF5QztvQkFDdkQsaUJBQWlCLEVBQUUsaUNBQWlDO29CQUNwRCxpQkFBaUIsRUFBRSxvQkFBb0I7aUJBQ3hDO2dCQUNELEtBQUssRUFBRSxnTkFBZ047YUFDeE47WUFDRCxrQkFBa0IsRUFBRTtnQkFDbEIsS0FBSyxFQUFFLG1DQUFtQztnQkFDMUMsU0FBUyxFQUFFLGliQUFpYjtnQkFDNWIsS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLDZDQUE2QyxFQUFFLFdBQVcsRUFBRSxpRkFBaUYsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDOUwsRUFBRSxLQUFLLEVBQUUsaURBQWlELEVBQUUsV0FBVyxFQUFFLG9GQUFvRixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUNyTSxFQUFFLEtBQUssRUFBRSxnREFBZ0QsRUFBRSxXQUFXLEVBQUUsMEVBQTBFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQzNMO2dCQUNELGFBQWEsRUFBRTtvQkFDYixjQUFjLEVBQUUsMkNBQTJDO29CQUMzRCxlQUFlLEVBQUUsY0FBYztvQkFDL0Isa0JBQWtCLEVBQUUsY0FBYztvQkFDbEMsWUFBWSxFQUFFLHlDQUF5QztvQkFDdkQsMkJBQTJCLEVBQUUsaUNBQWlDO29CQUM5RCxzQkFBc0IsRUFBRSxtQ0FBbUM7aUJBQzVEO2dCQUNELEtBQUssRUFBRSxrTUFBa007YUFDMU07WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLDJDQUEyQztnQkFDbEQsU0FBUyxFQUFFLDBnQkFBMGdCO2dCQUNyaEIsS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLGtEQUFrRCxFQUFFLFdBQVcsRUFBRSxvRUFBb0UsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDdEwsRUFBRSxLQUFLLEVBQUUsNkRBQTZELEVBQUUsV0FBVyxFQUFFLHdFQUF3RSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUNyTSxFQUFFLEtBQUssRUFBRSx1REFBdUQsRUFBRSxXQUFXLEVBQUUsNkVBQTZFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ3JNO2dCQUNELGFBQWEsRUFBRTtvQkFDYixjQUFjLEVBQUUsNkNBQTZDO29CQUM3RCxlQUFlLEVBQUUsa0JBQWtCO29CQUNuQyxrQkFBa0IsRUFBRSxjQUFjO29CQUNsQyxvQkFBb0IsRUFBRSx1Q0FBdUM7b0JBQzdELHFCQUFxQixFQUFFLHdDQUF3QztvQkFDL0QsNkJBQTZCLEVBQUUseUNBQXlDO2lCQUN6RTtnQkFDRCxLQUFLLEVBQUUsMExBQTBMO2FBQ2xNO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLEtBQUssRUFBRSx5Q0FBeUM7Z0JBQ2hELFNBQVMsRUFBRSxpU0FBaVM7Z0JBQzVTLEtBQUssRUFBRTtvQkFDTCxFQUFFLEtBQUssRUFBRSwyQ0FBMkMsRUFBRSxXQUFXLEVBQUUsNEZBQTRGLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3ZNLEVBQUUsS0FBSyxFQUFFLDJDQUEyQyxFQUFFLFdBQVcsRUFBRSxrR0FBa0csRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDN00sRUFBRSxLQUFLLEVBQUUsZ0RBQWdELEVBQUUsV0FBVyxFQUFFLG9GQUFvRixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO2lCQUNyTTtnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsY0FBYyxFQUFFLGtEQUFrRDtvQkFDbEUsZUFBZSxFQUFFLGlCQUFpQjtvQkFDbEMsa0JBQWtCLEVBQUUsY0FBYztvQkFDbEMsWUFBWSxFQUFFLHlDQUF5QztvQkFDdkQsb0JBQW9CLEVBQUUsZ0NBQWdDO29CQUN0RCxzQkFBc0IsRUFBRSxvQkFBb0I7aUJBQzdDO2dCQUNELEtBQUssRUFBRSw4R0FBOEc7YUFDdEg7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLGdEQUFnRDtnQkFDdkQsU0FBUyxFQUFFLDZZQUE2WTtnQkFDeFosS0FBSyxFQUFFO29CQUNMLEVBQUUsS0FBSyxFQUFFLGtDQUFrQyxFQUFFLFdBQVcsRUFBRSw0RUFBNEUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDOUssRUFBRSxLQUFLLEVBQUUsNkNBQTZDLEVBQUUsV0FBVyxFQUFFLG9EQUFvRCxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUNqSyxFQUFFLEtBQUssRUFBRSxvQ0FBb0MsRUFBRSxXQUFXLEVBQUUseUNBQXlDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQzlJO2dCQUNELGFBQWEsRUFBRTtvQkFDYixjQUFjLEVBQUUsa0NBQWtDO29CQUNsRCxlQUFlLEVBQUUsY0FBYztvQkFDL0Isa0JBQWtCLEVBQUUsY0FBYztvQkFDbEMsYUFBYSxFQUFFLG1DQUFtQztvQkFDbEQsYUFBYSxFQUFFLGtDQUFrQztvQkFDakQsb0JBQW9CLEVBQUUsa0NBQWtDO2lCQUN6RDtnQkFDRCxLQUFLLEVBQUUsMEhBQTBIO2FBQ2xJO1lBQ0QsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxpQ0FBaUM7Z0JBQ3hDLFNBQVMsRUFBRSxpWUFBaVk7Z0JBQzVZLEtBQUssRUFBRTtvQkFDTCxFQUFFLEtBQUssRUFBRSx3Q0FBd0MsRUFBRSxXQUFXLEVBQUUsaUVBQWlFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7b0JBQ2pMLEVBQUUsS0FBSyxFQUFFLHFEQUFxRCxFQUFFLFdBQVcsRUFBRSw4RUFBOEUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDek0sRUFBRSxLQUFLLEVBQUUsbURBQW1ELEVBQUUsV0FBVyxFQUFFLG9EQUFvRCxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUM5SztnQkFDRCxhQUFhLEVBQUU7b0JBQ2IsY0FBYyxFQUFFLHVEQUF1RDtvQkFDdkUsZUFBZSxFQUFFLGNBQWM7b0JBQy9CLGtCQUFrQixFQUFFLGNBQWM7b0JBQ2xDLHdCQUF3QixFQUFFLGVBQWU7b0JBQ3pDLGlCQUFpQixFQUFFLGtCQUFrQjtvQkFDckMsc0JBQXNCLEVBQUUsZUFBZTtpQkFDeEM7Z0JBQ0QsS0FBSyxFQUFFLHdJQUF3STthQUNoSjtZQUNELFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUscUNBQXFDO2dCQUM1QyxTQUFTLEVBQUUsc2JBQXNiO2dCQUNqYyxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxLQUFLLEVBQUUsK0NBQStDLEVBQUUsV0FBVyxFQUFFLGtGQUFrRixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO29CQUN6TSxFQUFFLEtBQUssRUFBRSxvREFBb0QsRUFBRSxXQUFXLEVBQUUsOEVBQThFLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ25NO2dCQUNELGFBQWEsRUFBRTtvQkFDYixjQUFjLEVBQUUsMkNBQTJDO29CQUMzRCxlQUFlLEVBQUUsY0FBYztvQkFDL0Isa0JBQWtCLEVBQUUsY0FBYztvQkFDbEMsaUJBQWlCLEVBQUUsd0JBQXdCO29CQUMzQyxnQkFBZ0IsRUFBRSxxQkFBcUI7b0JBQ3ZDLHVCQUF1QixFQUFFLGVBQWU7aUJBQ3pDO2dCQUNELEtBQUssRUFBRSwrSUFBK0k7YUFDdko7U0FDRixDQUFDO1FBRUYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVoRixNQUFNLFVBQVUsR0FBaUI7WUFDL0IsVUFBVSxFQUFFLFNBQVM7Z0JBQ25CLENBQUMsQ0FBQyxVQUFVO2dCQUNaLENBQUMsQ0FBQyxTQUFTO29CQUNYLENBQUMsQ0FBQyxVQUFVO29CQUNaLENBQUMsQ0FBQyxhQUFhO3dCQUNmLENBQUMsQ0FBQyxVQUFVO3dCQUNaLENBQUMsQ0FBQyxVQUFVOzRCQUNaLENBQUMsQ0FBQyxVQUFVOzRCQUNaLENBQUMsQ0FBQyxRQUFRO2dDQUNWLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU87Z0NBQy9ELENBQUMsQ0FBQyxVQUFVO1lBQ2QsS0FBSyxFQUFFLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLGlCQUFpQjtnQkFDbkIsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTO29CQUNwQixDQUFDLENBQUMsYUFBYTtvQkFDZixDQUFDLENBQUMsU0FBUzt3QkFDWCxDQUFDLENBQUMsaUJBQWlCO3dCQUNuQixDQUFDLENBQUMsYUFBYTs0QkFDZixDQUFDLENBQUMsY0FBYzs0QkFDaEIsQ0FBQyxDQUFDLFVBQVU7Z0NBQ1osQ0FBQyxDQUFDLHNCQUFzQjtnQ0FDeEIsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssSUFBSSxzQkFBc0IsQ0FBQztZQUNuRCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUMsUUFBUSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxVQUFVLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUMsQ0FBQyxTQUFTO1lBQ2IsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixPQUFPLEVBQUUsNkNBQTZDO2FBQ3ZEO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLElBQUksRUFBRSxXQUFXO2dCQUNqQixRQUFRLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxJQUFJLGtFQUFrRTtnQkFDbkcsS0FBSyxFQUFFLFFBQVEsQ0FBQyxTQUFTLElBQUksNkJBQTZCO2dCQUMxRCxLQUFLLEVBQUUsUUFBUSxDQUFDLFNBQVMsSUFBSSw0QkFBNEI7Z0JBQ3pELE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxJQUFJLDJCQUEyQjtnQkFDNUQsZUFBZSxFQUFFLFFBQVEsQ0FBQyxtQkFBbUIsSUFBSSxnQ0FBZ0M7Z0JBQ2pGLEtBQUssRUFBRSxRQUFRLENBQUMsU0FBUyxJQUFJLDZFQUE2RTthQUMzRztZQUNELEtBQUssRUFBRSxTQUFTO2dCQUNkLENBQUMsQ0FBQztvQkFDRSxFQUFFLEtBQUssRUFBRSxnREFBZ0QsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDakcsRUFBRSxLQUFLLEVBQUUsc0RBQXNELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7b0JBQ3ZHLEVBQUUsS0FBSyxFQUFFLDBDQUEwQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO29CQUMzRixFQUFFLEtBQUssRUFBRSwwQ0FBMEMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDM0YsRUFBRSxLQUFLLEVBQUUsa0RBQWtELEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7aUJBQ3BHO2dCQUNILENBQUMsQ0FBQyxRQUFRO29CQUNWLENBQUMsQ0FBQyxZQUFhLENBQUMsS0FBSztvQkFDckIsQ0FBQyxDQUFDO3dCQUNFOzRCQUNFLEtBQUssRUFBRSxvQ0FBb0M7NEJBQzNDLFdBQVcsRUFBRSxtREFBbUQ7NEJBQ2hFLFFBQVEsRUFBRSxDQUFDOzRCQUNYLFVBQVUsRUFBRSxPQUFPOzRCQUNuQixLQUFLLEVBQUUsT0FBTzt5QkFDZjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsaUNBQWlDOzRCQUN4QyxXQUFXLEVBQUUsNERBQTREOzRCQUN6RSxRQUFRLEVBQUUsQ0FBQzs0QkFDWCxVQUFVLEVBQUUsTUFBTTs0QkFDbEIsS0FBSyxFQUFFLE1BQU07eUJBQ2Q7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGlDQUFpQzs0QkFDeEMsV0FBVyxFQUFFLHFDQUFxQzs0QkFDbEQsUUFBUSxFQUFFLENBQUM7NEJBQ1gsVUFBVSxFQUFFLE1BQU07NEJBQ2xCLEtBQUssRUFBRSxNQUFNO3lCQUNkO3FCQUNGO1lBQ0wsUUFBUSxFQUFFLENBQUMsU0FBUyxJQUFJLGFBQWEsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQ3JJLFNBQVMsRUFBRSxDQUFDLFNBQVMsSUFBSSxhQUFhLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSxjQUFjLEVBQUUsQ0FBQyxTQUFTLElBQUksYUFBYSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEUsS0FBSyxFQUFFLENBQUMsU0FBUyxJQUFJLGFBQWEsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQzFILGFBQWEsRUFBRSxLQUFLO1lBQ3BCLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUTtZQUM3QyxZQUFZLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMvRyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDdEgsS0FBSyxFQUFFLFNBQVM7Z0JBQ2QsQ0FBQyxDQUFDLG1GQUFtRjtnQkFDckYsQ0FBQyxDQUFDLFNBQVM7b0JBQ1gsQ0FBQyxDQUFDLHdEQUF3RDtvQkFDMUQsQ0FBQyxDQUFDLGFBQWE7d0JBQ2YsQ0FBQyxDQUFDLDZGQUE2Rjt3QkFDL0YsQ0FBQyxDQUFDLFVBQVU7NEJBQ1osQ0FBQyxDQUFDLHNFQUFzRTs0QkFDeEUsQ0FBQyxDQUFDLFFBQVE7Z0NBQ1YsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssSUFBSSx1RUFBdUUsQ0FBQztnQ0FDbEcsQ0FBQyxDQUFDLGtFQUFrRTtZQUN0RSxTQUFTLEVBQUUsUUFBUTtnQkFDakIsQ0FBQyxDQUFDLFlBQWEsQ0FBQyxTQUFTO2dCQUN6QixDQUFDLENBQUMsU0FBUztZQUNiLGFBQWEsRUFBRSxTQUFTO2dCQUN0QixDQUFDLENBQUM7b0JBQ0UsY0FBYyxFQUFFLHlCQUF5QjtvQkFDekMsZUFBZSxFQUFFLGNBQWM7b0JBQy9CLFlBQVksRUFBRSxhQUFhO29CQUMzQixnQkFBZ0IsRUFBRSwyREFBMkQ7b0JBQzdFLG9CQUFvQixFQUFFLHVDQUF1QztvQkFDN0Qsa0JBQWtCLEVBQUUsa0JBQWtCO2lCQUN2QztnQkFDSCxDQUFDLENBQUMsUUFBUSxJQUFJLFlBQVksRUFBRSxhQUFhO29CQUN6QyxDQUFDLENBQUMsWUFBWSxDQUFDLGFBQWE7b0JBQzVCLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUFHLE1BQU0sa0NBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXBFLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDckMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLDZCQUE2QixLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQztRQUN4RixHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN4QyxHQUFHLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxxQ0FBcUMsQ0FBQyxDQUFDO1FBRXRFLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDO1FBQ2pDLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDbkMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBRWhFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDaEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsU0FBUyxLQUFLLElBQUksUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQzVFLEdBQUcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN0RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7UUFFRCxHQUFHLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUM7WUFDSCxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLDZDQUE2QyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNoSSxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUM7UUFDZCxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLCtCQUErQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0FBQ0gsQ0FBQztBQUVELG9DQUFvQztBQUN2QixRQUFBLElBQUksR0FBRyxHQUFHLENBQUMifQ==