@utilix-tech/sdk 0.71.0 → 0.73.0

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.73.0
6
+ - Add `calculateMortgagePoints` (mortgage-points-calculator): compare a loan with no discount points against the same loan at a reduced rate bought with points, and compute the monthly savings and break-even month.
7
+ - Add `calculateCookieSizeBudget` (cookie-size-budget-calculator): parse a Cookie header's name=value pairs and compute each cookie's and the total header's byte size against RFC 6265's per-cookie limit and a configurable budget.
8
+
9
+ ## 0.72.0
10
+ - Add `validateVin` (vin-validator): validate a 17-character VIN via the ISO 3779 / NHTSA weighted mod-11 check digit and split it into its WMI, VDS, and VIS sections.
11
+ - Add `validateIsin` (isin-validator): validate a 12-character ISIN via its Luhn-style mod-10 check digit and break it into its country code and security identifier.
12
+
5
13
  ## 0.71.0
6
14
  - Add `readMidiInfo` (midi-file-info): parse a Standard MIDI File's header and every track chunk to report format, tick division, initial tempo, time signature, and per-track event/note-on counts, plus total duration in seconds accounting for tempo changes.
7
15
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **692 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **696 developer utility functions for Node.js: runs locally, no API key required.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@utilix-tech/sdk?style=flat-square&color=cb3837)](https://www.npmjs.com/package/@utilix-tech/sdk)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@utilix-tech/sdk?style=flat-square)](https://www.npmjs.com/package/@utilix-tech/sdk)
@@ -343,7 +343,7 @@ formatIso8601Duration(90061); // { iso: "P1DT1H1M1S", ... }
343
343
  ### `/units`: Conversions
344
344
 
345
345
  ```ts
346
- import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance } from "@utilix-tech/sdk/units";
346
+ import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi, compareUnitPrices, calculatePaybackPeriod, calculateCdMaturity, calculateDepreciationSchedule, calculateCashRounding, calculateMovingAverages, calculateGpa, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateBlendedLoanRate, calculateFreelancerRate, calculateExtraPaymentPayoff, calculateLoanRefinance, validateVin, validateIsin } from "@utilix-tech/sdk/units";
347
347
 
348
348
  // File sizes
349
349
  convertBytes(1073741824, "GB"); // 1
@@ -501,6 +501,18 @@ planDebtPayoff([{ label: "Credit card", balance: 4000, ratePercent: 22, minPayme
501
501
  // Loan refinance break-even: monthly savings and the month closing costs are recouped
502
502
  calculateLoanRefinance(300000, 6.5, 300, 5.5, 300, 6000);
503
503
  // { monthlySavings: 183.36, breakEvenMonths: 33, currentTotalInterest: 307687.31, newTotalInterest: 252679.7, ... }
504
+
505
+ // VIN checksum (ISO 3779 / NHTSA) + WMI/VDS/VIS breakdown
506
+ validateVin("1HGCM82633A004352");
507
+ // { valid: true, checkDigit: "3", wmi: "1HG", vds: "CM8263", vis: "3A004352" }
508
+
509
+ // ISIN Luhn checksum (ISO 6166) + country code / security identifier breakdown
510
+ validateIsin("US0378331005");
511
+ // { valid: true, countryCode: "US", securityIdentifier: "037833100", checkDigit: 5, ... }
512
+
513
+ // Mortgage discount points break-even: monthly savings and the month the points cost is recouped
514
+ calculateMortgagePoints(300000, 6.5, 360, 1, 0.25);
515
+ // { pointsCost: 3000, monthlySavings: 49.05, breakEvenMonths: 62, totalInterestSavings: 17660.91, ... }
504
516
  ```
505
517
 
506
518
  ---
@@ -681,6 +693,10 @@ extractMultipartBoundary("multipart/form-data; boundary=----WebKitFormBoundaryAB
681
693
  import { buildRobotsMetaTag, parseRobotsMetaTag } from "@utilix-tech/sdk/network";
682
694
  buildRobotsMetaTag({ flags: ["noindex", "nofollow"], name: "googlebot" });
683
695
  // { content: "noindex, nofollow", name: "googlebot", tag: '<meta name="googlebot" content="noindex, nofollow">', directives: [...], notes: [...], warnings: [] }
696
+
697
+ // Cookie header byte-size budget: per-cookie and total sizes against RFC 6265's 4096-byte limit
698
+ calculateCookieSizeBudget("session=abc123; theme=dark; cart=42");
699
+ // { cookieCount: 3, totalBytes: 35, budgetBytes: 4096, exceedsBudget: false, cookies: [...] }
684
700
  ```
685
701
 
686
702
  ---
@@ -970,8 +986,8 @@ readMidiInfo(new Uint8Array(midiBytes));
970
986
  | `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, NDJSON record deduplicator, SRT/WebVTT subtitles, Markdown front matter parser, YAML anchor/alias resolver, CSV column type inferencer, Markdown table column aligner |
971
987
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
972
988
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
973
- | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator |
974
- | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser |
989
+ | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator |
990
+ | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator |
975
991
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header, TOTP/HOTP code generator |
976
992
  | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor |
977
993
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
@@ -32,6 +32,7 @@ __export(network_exports, {
32
32
  buildVaryHeader: () => buildVaryHeader,
33
33
  buildXContentTypeOptionsHeader: () => buildXContentTypeOptionsHeader,
34
34
  buildXRobotsTag: () => buildXRobotsTag,
35
+ calculateCookieSizeBudget: () => calculateCookieSizeBudget,
35
36
  checkSetCookieHeader: () => checkSetCookieHeader,
36
37
  countryCodeToFlag: () => countryCodeToFlag,
37
38
  extractMultipartBoundary: () => extractMultipartBoundary,
@@ -3480,5 +3481,35 @@ function parseRobotsMetaTag(raw) {
3480
3481
  }
3481
3482
  return buildRobotsMetaTag({ flags, maxSnippet, maxImagePreview, maxVideoPreview, unavailableAfter, name });
3482
3483
  }
3484
+ var PER_COOKIE_BYTE_LIMIT = 4096;
3485
+ var DEFAULT_COOKIE_BUDGET_BYTES = 4096;
3486
+ function calculateCookieSizeBudget(cookieHeader, budgetBytes = DEFAULT_COOKIE_BUDGET_BYTES) {
3487
+ if (typeof cookieHeader !== "string" || !cookieHeader.trim()) {
3488
+ return { error: "A Cookie header value is required" };
3489
+ }
3490
+ if (!Number.isFinite(budgetBytes) || budgetBytes <= 0) {
3491
+ return { error: "Budget must be a positive number of bytes" };
3492
+ }
3493
+ const parts = cookieHeader.split(";").map((p) => p.trim()).filter(Boolean);
3494
+ if (parts.length === 0) return { error: "A Cookie header value is required" };
3495
+ const cookies = [];
3496
+ for (const part of parts) {
3497
+ const eq = part.indexOf("=");
3498
+ if (eq === -1) return { error: `Malformed cookie pair "${part}" is missing '='` };
3499
+ const name = part.slice(0, eq).trim();
3500
+ const value = part.slice(eq + 1).trim();
3501
+ if (!name) return { error: "Cookie name cannot be empty" };
3502
+ const bytes = Buffer.byteLength(`${name}=${value}`, "utf8");
3503
+ cookies.push({ name, value, bytes, exceedsPerCookieLimit: bytes > PER_COOKIE_BYTE_LIMIT });
3504
+ }
3505
+ const totalBytes = cookies.reduce((sum, c) => sum + c.bytes, 0) + Math.max(cookies.length - 1, 0) * 2;
3506
+ return {
3507
+ cookies,
3508
+ cookieCount: cookies.length,
3509
+ totalBytes,
3510
+ budgetBytes,
3511
+ exceedsBudget: totalBytes > budgetBytes
3512
+ };
3513
+ }
3483
3514
 
3484
- export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
3515
+ export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
@@ -39,6 +39,7 @@ __export(units_exports, {
39
39
  calculateLoan: () => calculateLoan,
40
40
  calculateLoanRefinance: () => calculateLoanRefinance,
41
41
  calculateMarginMarkup: () => calculateMarginMarkup,
42
+ calculateMortgagePoints: () => calculateMortgagePoints,
42
43
  calculateMovingAverages: () => calculateMovingAverages,
43
44
  calculatePaybackPeriod: () => calculatePaybackPeriod,
44
45
  calculatePercentageChange: () => calculatePercentageChange,
@@ -104,6 +105,8 @@ __export(units_exports, {
104
105
  validateCardNumber: () => validateCardNumber,
105
106
  validateIban: () => validateIban,
106
107
  validateIsbn: () => validateIsbn,
108
+ validateIsin: () => validateIsin,
109
+ validateVin: () => validateVin,
107
110
  viewportToPx: () => viewportToPx
108
111
  });
109
112
  function pxToAll(px, baseFontSize = 16, viewportWidth = 1440, viewportHeight = 900) {
@@ -2543,5 +2546,121 @@ function calculateTaxEquivalentYield(inputYieldPercent, federalTaxRatePercent, s
2543
2546
  yieldDifference: round6(taxableYield - taxFreeYield)
2544
2547
  };
2545
2548
  }
2549
+ var VIN_TRANSLITERATION = {
2550
+ A: 1,
2551
+ B: 2,
2552
+ C: 3,
2553
+ D: 4,
2554
+ E: 5,
2555
+ F: 6,
2556
+ G: 7,
2557
+ H: 8,
2558
+ J: 1,
2559
+ K: 2,
2560
+ L: 3,
2561
+ M: 4,
2562
+ N: 5,
2563
+ P: 7,
2564
+ R: 9,
2565
+ S: 2,
2566
+ T: 3,
2567
+ U: 4,
2568
+ V: 5,
2569
+ W: 6,
2570
+ X: 7,
2571
+ Y: 8,
2572
+ Z: 9
2573
+ };
2574
+ var VIN_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2];
2575
+ function validateVin(input) {
2576
+ if (!input || !input.trim()) return { error: "Input is empty" };
2577
+ const cleaned = input.replace(/\s/g, "").toUpperCase();
2578
+ if (cleaned.length !== 17) return { error: `VIN length (${cleaned.length}) must be exactly 17 characters` };
2579
+ if (!/^[A-HJ-NPR-Z0-9]{17}$/.test(cleaned)) {
2580
+ return { error: "VIN must contain only letters and digits, excluding I, O, and Q" };
2581
+ }
2582
+ let sum = 0;
2583
+ for (let i = 0; i < 17; i++) {
2584
+ const ch = cleaned[i];
2585
+ const value = /[0-9]/.test(ch) ? Number(ch) : VIN_TRANSLITERATION[ch];
2586
+ sum += value * VIN_WEIGHTS[i];
2587
+ }
2588
+ const remainder = sum % 11;
2589
+ const expectedCheckDigit = remainder === 10 ? "X" : String(remainder);
2590
+ const checkDigit = cleaned[8];
2591
+ return {
2592
+ valid: checkDigit === expectedCheckDigit,
2593
+ vin: cleaned,
2594
+ checkDigit,
2595
+ expectedCheckDigit,
2596
+ wmi: cleaned.slice(0, 3),
2597
+ vds: cleaned.slice(3, 9),
2598
+ vis: cleaned.slice(9, 17)
2599
+ };
2600
+ }
2601
+ function isinLuhnCheckDigit(payloadDigits) {
2602
+ let sum = 0;
2603
+ let shouldDouble = true;
2604
+ for (let i = payloadDigits.length - 1; i >= 0; i--) {
2605
+ let d = parseInt(payloadDigits[i], 10);
2606
+ if (shouldDouble) {
2607
+ d *= 2;
2608
+ if (d > 9) d -= 9;
2609
+ }
2610
+ sum += d;
2611
+ shouldDouble = !shouldDouble;
2612
+ }
2613
+ return (10 - sum % 10) % 10;
2614
+ }
2615
+ function validateIsin(input) {
2616
+ if (!input || !input.trim()) return { error: "Input is empty" };
2617
+ const cleaned = input.replace(/\s/g, "").toUpperCase();
2618
+ if (cleaned.length !== 12) return { error: `ISIN length (${cleaned.length}) must be exactly 12 characters` };
2619
+ if (!/^[A-Z]{2}[A-Z0-9]{9}\d$/.test(cleaned)) {
2620
+ return { error: "ISIN must be a 2-letter country code, 9 alphanumeric characters, then 1 numeric check digit" };
2621
+ }
2622
+ const countryCode = cleaned.slice(0, 2);
2623
+ const securityIdentifier = cleaned.slice(2, 11);
2624
+ const checkDigit = Number(cleaned[11]);
2625
+ const payload = cleaned.slice(0, 11).split("").map((ch) => /[A-Z]/.test(ch) ? String(ch.charCodeAt(0) - 55) : ch).join("");
2626
+ const expectedCheckDigit = isinLuhnCheckDigit(payload);
2627
+ return {
2628
+ valid: checkDigit === expectedCheckDigit,
2629
+ isin: cleaned,
2630
+ countryCode,
2631
+ securityIdentifier,
2632
+ checkDigit,
2633
+ expectedCheckDigit,
2634
+ formatted: `${countryCode} ${securityIdentifier} ${checkDigit}`
2635
+ };
2636
+ }
2637
+ function calculateMortgagePoints(loanAmount, baseRatePercent, termMonths, pointsCostPercent, rateReductionPercent) {
2638
+ if (!Number.isFinite(pointsCostPercent) || pointsCostPercent < 0) {
2639
+ return { error: "Points cost must be zero or a positive percent of the loan amount" };
2640
+ }
2641
+ if (!Number.isFinite(rateReductionPercent) || rateReductionPercent < 0) {
2642
+ return { error: "Rate reduction must be zero or a positive number" };
2643
+ }
2644
+ if (rateReductionPercent > baseRatePercent) {
2645
+ return { error: "Rate reduction cannot exceed the base interest rate" };
2646
+ }
2647
+ const withoutPoints = calculateLoan(loanAmount, baseRatePercent, termMonths);
2648
+ if ("error" in withoutPoints) return withoutPoints;
2649
+ const withPoints = calculateLoan(loanAmount, baseRatePercent - rateReductionPercent, termMonths);
2650
+ if ("error" in withPoints) return withPoints;
2651
+ const pointsCost = round2(loanAmount * (pointsCostPercent / 100));
2652
+ const monthlySavings = round2(withoutPoints.monthlyPayment - withPoints.monthlyPayment);
2653
+ const breakEvenMonths = monthlySavings > 0 ? Math.ceil(pointsCost / monthlySavings) : null;
2654
+ return {
2655
+ pointsCost,
2656
+ monthlyPaymentWithoutPoints: withoutPoints.monthlyPayment,
2657
+ monthlyPaymentWithPoints: withPoints.monthlyPayment,
2658
+ monthlySavings,
2659
+ breakEvenMonths,
2660
+ totalInterestWithoutPoints: withoutPoints.totalInterest,
2661
+ totalInterestWithPoints: withPoints.totalInterest,
2662
+ totalInterestSavings: round2(withoutPoints.totalInterest - withPoints.totalInterest)
2663
+ };
2664
+ }
2546
2665
 
2547
- export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanRefinance, calculateMarginMarkup, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx };
2666
+ export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, GPA_GRADE_POINTS, USD_DENOMINATIONS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBlendedLoanRate, calculateBreakEven, calculateCashBreakdown, calculateCashRounding, calculateCdMaturity, calculateChange, calculateCompoundInterest, calculateCreditUtilization, calculateDebtToIncomeRatio, calculateDepreciationSchedule, calculateDiscount, calculateEmi, calculateExtraPaymentPayoff, calculateFreelancerRate, calculateGpa, calculateLoan, calculateLoanRefinance, calculateMarginMarkup, calculateMortgagePoints, calculateMovingAverages, calculatePaybackPeriod, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTaxEquivalentYield, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, compareUnitPrices, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, planDebtPayoff, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, validateIsin, validateVin, viewportToPx };
package/dist/index.cjs CHANGED
@@ -8573,6 +8573,7 @@ __export(units_exports, {
8573
8573
  calculateLoan: () => calculateLoan,
8574
8574
  calculateLoanRefinance: () => calculateLoanRefinance,
8575
8575
  calculateMarginMarkup: () => calculateMarginMarkup,
8576
+ calculateMortgagePoints: () => calculateMortgagePoints,
8576
8577
  calculateMovingAverages: () => calculateMovingAverages,
8577
8578
  calculatePaybackPeriod: () => calculatePaybackPeriod,
8578
8579
  calculatePercentageChange: () => calculatePercentageChange,
@@ -8638,6 +8639,8 @@ __export(units_exports, {
8638
8639
  validateCardNumber: () => validateCardNumber,
8639
8640
  validateIban: () => validateIban,
8640
8641
  validateIsbn: () => validateIsbn,
8642
+ validateIsin: () => validateIsin,
8643
+ validateVin: () => validateVin,
8641
8644
  viewportToPx: () => viewportToPx
8642
8645
  });
8643
8646
  function pxToAll(px, baseFontSize = 16, viewportWidth = 1440, viewportHeight = 900) {
@@ -11077,6 +11080,122 @@ function calculateTaxEquivalentYield(inputYieldPercent, federalTaxRatePercent, s
11077
11080
  yieldDifference: round6(taxableYield - taxFreeYield)
11078
11081
  };
11079
11082
  }
11083
+ var VIN_TRANSLITERATION = {
11084
+ A: 1,
11085
+ B: 2,
11086
+ C: 3,
11087
+ D: 4,
11088
+ E: 5,
11089
+ F: 6,
11090
+ G: 7,
11091
+ H: 8,
11092
+ J: 1,
11093
+ K: 2,
11094
+ L: 3,
11095
+ M: 4,
11096
+ N: 5,
11097
+ P: 7,
11098
+ R: 9,
11099
+ S: 2,
11100
+ T: 3,
11101
+ U: 4,
11102
+ V: 5,
11103
+ W: 6,
11104
+ X: 7,
11105
+ Y: 8,
11106
+ Z: 9
11107
+ };
11108
+ var VIN_WEIGHTS = [8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2];
11109
+ function validateVin(input) {
11110
+ if (!input || !input.trim()) return { error: "Input is empty" };
11111
+ const cleaned = input.replace(/\s/g, "").toUpperCase();
11112
+ if (cleaned.length !== 17) return { error: `VIN length (${cleaned.length}) must be exactly 17 characters` };
11113
+ if (!/^[A-HJ-NPR-Z0-9]{17}$/.test(cleaned)) {
11114
+ return { error: "VIN must contain only letters and digits, excluding I, O, and Q" };
11115
+ }
11116
+ let sum = 0;
11117
+ for (let i = 0; i < 17; i++) {
11118
+ const ch = cleaned[i];
11119
+ const value = /[0-9]/.test(ch) ? Number(ch) : VIN_TRANSLITERATION[ch];
11120
+ sum += value * VIN_WEIGHTS[i];
11121
+ }
11122
+ const remainder = sum % 11;
11123
+ const expectedCheckDigit = remainder === 10 ? "X" : String(remainder);
11124
+ const checkDigit = cleaned[8];
11125
+ return {
11126
+ valid: checkDigit === expectedCheckDigit,
11127
+ vin: cleaned,
11128
+ checkDigit,
11129
+ expectedCheckDigit,
11130
+ wmi: cleaned.slice(0, 3),
11131
+ vds: cleaned.slice(3, 9),
11132
+ vis: cleaned.slice(9, 17)
11133
+ };
11134
+ }
11135
+ function isinLuhnCheckDigit(payloadDigits) {
11136
+ let sum = 0;
11137
+ let shouldDouble = true;
11138
+ for (let i = payloadDigits.length - 1; i >= 0; i--) {
11139
+ let d = parseInt(payloadDigits[i], 10);
11140
+ if (shouldDouble) {
11141
+ d *= 2;
11142
+ if (d > 9) d -= 9;
11143
+ }
11144
+ sum += d;
11145
+ shouldDouble = !shouldDouble;
11146
+ }
11147
+ return (10 - sum % 10) % 10;
11148
+ }
11149
+ function validateIsin(input) {
11150
+ if (!input || !input.trim()) return { error: "Input is empty" };
11151
+ const cleaned = input.replace(/\s/g, "").toUpperCase();
11152
+ if (cleaned.length !== 12) return { error: `ISIN length (${cleaned.length}) must be exactly 12 characters` };
11153
+ if (!/^[A-Z]{2}[A-Z0-9]{9}\d$/.test(cleaned)) {
11154
+ return { error: "ISIN must be a 2-letter country code, 9 alphanumeric characters, then 1 numeric check digit" };
11155
+ }
11156
+ const countryCode = cleaned.slice(0, 2);
11157
+ const securityIdentifier = cleaned.slice(2, 11);
11158
+ const checkDigit = Number(cleaned[11]);
11159
+ const payload = cleaned.slice(0, 11).split("").map((ch) => /[A-Z]/.test(ch) ? String(ch.charCodeAt(0) - 55) : ch).join("");
11160
+ const expectedCheckDigit = isinLuhnCheckDigit(payload);
11161
+ return {
11162
+ valid: checkDigit === expectedCheckDigit,
11163
+ isin: cleaned,
11164
+ countryCode,
11165
+ securityIdentifier,
11166
+ checkDigit,
11167
+ expectedCheckDigit,
11168
+ formatted: `${countryCode} ${securityIdentifier} ${checkDigit}`
11169
+ };
11170
+ }
11171
+ function calculateMortgagePoints(loanAmount, baseRatePercent, termMonths, pointsCostPercent, rateReductionPercent) {
11172
+ if (!Number.isFinite(pointsCostPercent) || pointsCostPercent < 0) {
11173
+ return { error: "Points cost must be zero or a positive percent of the loan amount" };
11174
+ }
11175
+ if (!Number.isFinite(rateReductionPercent) || rateReductionPercent < 0) {
11176
+ return { error: "Rate reduction must be zero or a positive number" };
11177
+ }
11178
+ if (rateReductionPercent > baseRatePercent) {
11179
+ return { error: "Rate reduction cannot exceed the base interest rate" };
11180
+ }
11181
+ const withoutPoints = calculateLoan(loanAmount, baseRatePercent, termMonths);
11182
+ if ("error" in withoutPoints) return withoutPoints;
11183
+ const withPoints = calculateLoan(loanAmount, baseRatePercent - rateReductionPercent, termMonths);
11184
+ if ("error" in withPoints) return withPoints;
11185
+ const pointsCost = round2(loanAmount * (pointsCostPercent / 100));
11186
+ const monthlySavings = round2(withoutPoints.monthlyPayment - withPoints.monthlyPayment);
11187
+ const breakEvenMonths = monthlySavings > 0 ? Math.ceil(pointsCost / monthlySavings) : null;
11188
+ return {
11189
+ pointsCost,
11190
+ monthlyPaymentWithoutPoints: withoutPoints.monthlyPayment,
11191
+ monthlyPaymentWithPoints: withPoints.monthlyPayment,
11192
+ monthlySavings,
11193
+ breakEvenMonths,
11194
+ totalInterestWithoutPoints: withoutPoints.totalInterest,
11195
+ totalInterestWithPoints: withPoints.totalInterest,
11196
+ totalInterestSavings: round2(withoutPoints.totalInterest - withPoints.totalInterest)
11197
+ };
11198
+ }
11080
11199
 
11081
11200
  // src/tools/network.ts
11082
11201
  var network_exports = {};
@@ -11110,6 +11229,7 @@ __export(network_exports, {
11110
11229
  buildVaryHeader: () => buildVaryHeader,
11111
11230
  buildXContentTypeOptionsHeader: () => buildXContentTypeOptionsHeader,
11112
11231
  buildXRobotsTag: () => buildXRobotsTag,
11232
+ calculateCookieSizeBudget: () => calculateCookieSizeBudget,
11113
11233
  checkSetCookieHeader: () => checkSetCookieHeader,
11114
11234
  countryCodeToFlag: () => countryCodeToFlag,
11115
11235
  extractMultipartBoundary: () => extractMultipartBoundary,
@@ -14558,6 +14678,36 @@ function parseRobotsMetaTag(raw) {
14558
14678
  }
14559
14679
  return buildRobotsMetaTag({ flags, maxSnippet, maxImagePreview, maxVideoPreview, unavailableAfter, name });
14560
14680
  }
14681
+ var PER_COOKIE_BYTE_LIMIT = 4096;
14682
+ var DEFAULT_COOKIE_BUDGET_BYTES = 4096;
14683
+ function calculateCookieSizeBudget(cookieHeader, budgetBytes = DEFAULT_COOKIE_BUDGET_BYTES) {
14684
+ if (typeof cookieHeader !== "string" || !cookieHeader.trim()) {
14685
+ return { error: "A Cookie header value is required" };
14686
+ }
14687
+ if (!Number.isFinite(budgetBytes) || budgetBytes <= 0) {
14688
+ return { error: "Budget must be a positive number of bytes" };
14689
+ }
14690
+ const parts = cookieHeader.split(";").map((p) => p.trim()).filter(Boolean);
14691
+ if (parts.length === 0) return { error: "A Cookie header value is required" };
14692
+ const cookies = [];
14693
+ for (const part of parts) {
14694
+ const eq = part.indexOf("=");
14695
+ if (eq === -1) return { error: `Malformed cookie pair "${part}" is missing '='` };
14696
+ const name = part.slice(0, eq).trim();
14697
+ const value = part.slice(eq + 1).trim();
14698
+ if (!name) return { error: "Cookie name cannot be empty" };
14699
+ const bytes = Buffer.byteLength(`${name}=${value}`, "utf8");
14700
+ cookies.push({ name, value, bytes, exceedsPerCookieLimit: bytes > PER_COOKIE_BYTE_LIMIT });
14701
+ }
14702
+ const totalBytes = cookies.reduce((sum, c) => sum + c.bytes, 0) + Math.max(cookies.length - 1, 0) * 2;
14703
+ return {
14704
+ cookies,
14705
+ cookieCount: cookies.length,
14706
+ totalBytes,
14707
+ budgetBytes,
14708
+ exceedsBudget: totalBytes > budgetBytes
14709
+ };
14710
+ }
14561
14711
 
14562
14712
  // src/tools/api.ts
14563
14713
  var api_exports = {};
package/dist/index.d.cts CHANGED
@@ -5,8 +5,8 @@ export { t as text } from './text-DWUcY8H1.cjs';
5
5
  export { d as data } from './data-26TALa9U.cjs';
6
6
  export { g as generators } from './generators-DAXXrMvG.cjs';
7
7
  export { t as time } from './time-KqJjdqII.cjs';
8
- export { u as units } from './units-BT8P27G0.cjs';
9
- export { n as network } from './network-BmqYmfqY.cjs';
8
+ export { u as units } from './units-BgaUAUG5.cjs';
9
+ export { n as network } from './network-Da3meCWM.cjs';
10
10
  export { a as api } from './api-C8rImfka.cjs';
11
11
  export { c as code } from './code-CoeD4Fmq.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
package/dist/index.d.ts CHANGED
@@ -5,8 +5,8 @@ export { t as text } from './text-DWUcY8H1.js';
5
5
  export { d as data } from './data-26TALa9U.js';
6
6
  export { g as generators } from './generators-DAXXrMvG.js';
7
7
  export { t as time } from './time-KqJjdqII.js';
8
- export { u as units } from './units-BT8P27G0.js';
9
- export { n as network } from './network-BmqYmfqY.js';
8
+ export { u as units } from './units-BgaUAUG5.js';
9
+ export { n as network } from './network-Da3meCWM.js';
10
10
  export { a as api } from './api-C8rImfka.js';
11
11
  export { c as code } from './code-CoeD4Fmq.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { media_exports as media } from './chunk-PT4N4UBL.js';
2
- export { units_exports as units } from './chunk-653HDWXW.js';
3
- export { network_exports as network } from './chunk-ACGCCOCK.js';
2
+ export { units_exports as units } from './chunk-XOUKIGJ4.js';
3
+ export { network_exports as network } from './chunk-CXUOV672.js';
4
4
  export { api_exports as api } from './chunk-4S63T7Y4.js';
5
5
  export { code_exports as code } from './chunk-DAD2ZOTJ.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
@@ -31,6 +31,7 @@
31
31
  * - x-robots-tag-builder: buildXRobotsTag, parseXRobotsTag
32
32
  * - websocket-opcode-reference: lookupOpcode, listOpcodes
33
33
  * - robots-meta-tag-builder: buildRobotsMetaTag, parseRobotsMetaTag
34
+ * - cookie-size-budget-calculator: calculateCookieSizeBudget
34
35
  */
35
36
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
36
37
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -1064,6 +1065,31 @@ declare function buildRobotsMetaTag(options: RobotsMetaTagOptions): RobotsMetaTa
1064
1065
  declare function parseRobotsMetaTag(raw: string): RobotsMetaTagResult | {
1065
1066
  error: string;
1066
1067
  };
1068
+ interface CookieSizeEntry {
1069
+ name: string;
1070
+ value: string;
1071
+ bytes: number;
1072
+ exceedsPerCookieLimit: boolean;
1073
+ }
1074
+ interface CookieSizeBudgetResult {
1075
+ cookies: CookieSizeEntry[];
1076
+ cookieCount: number;
1077
+ totalBytes: number;
1078
+ budgetBytes: number;
1079
+ exceedsBudget: boolean;
1080
+ }
1081
+ /**
1082
+ * Parse a Cookie request header's name=value pairs and compute each
1083
+ * cookie's serialized byte size (UTF-8 byte length of "name=value") and the
1084
+ * total header size including "; " separators, flagging any cookie over
1085
+ * RFC 6265's 4096-byte per-cookie guarantee and the total against a
1086
+ * configurable budget (4096 bytes by default, a conservative guideline for
1087
+ * keeping the whole Cookie header well under typical server/proxy header
1088
+ * size limits).
1089
+ */
1090
+ declare function calculateCookieSizeBudget(cookieHeader: string, budgetBytes?: number): CookieSizeBudgetResult | {
1091
+ error: string;
1092
+ };
1067
1093
 
1068
1094
  type network_AcceptLanguageEntry = AcceptLanguageEntry;
1069
1095
  type network_AcceptLanguageResult = AcceptLanguageResult;
@@ -1087,6 +1113,8 @@ type network_ContentTypeRiskResult = ContentTypeRiskResult;
1087
1113
  type network_ContentTypeSniffRisk = ContentTypeSniffRisk;
1088
1114
  type network_CookieAttributes = CookieAttributes;
1089
1115
  type network_CookieCheckResult = CookieCheckResult;
1116
+ type network_CookieSizeBudgetResult = CookieSizeBudgetResult;
1117
+ type network_CookieSizeEntry = CookieSizeEntry;
1090
1118
  declare const network_DNS_RECORD_TYPES: typeof DNS_RECORD_TYPES;
1091
1119
  type network_DnsRecord = DnsRecord;
1092
1120
  type network_DnsRecordType = DnsRecordType;
@@ -1186,6 +1214,7 @@ declare const network_buildRobotsMetaTag: typeof buildRobotsMetaTag;
1186
1214
  declare const network_buildVaryHeader: typeof buildVaryHeader;
1187
1215
  declare const network_buildXContentTypeOptionsHeader: typeof buildXContentTypeOptionsHeader;
1188
1216
  declare const network_buildXRobotsTag: typeof buildXRobotsTag;
1217
+ declare const network_calculateCookieSizeBudget: typeof calculateCookieSizeBudget;
1189
1218
  declare const network_checkSetCookieHeader: typeof checkSetCookieHeader;
1190
1219
  declare const network_countryCodeToFlag: typeof countryCodeToFlag;
1191
1220
  declare const network_extractMultipartBoundary: typeof extractMultipartBoundary;
@@ -1237,7 +1266,7 @@ declare const network_validateManifest: typeof validateManifest;
1237
1266
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
1238
1267
  declare const network_validateSitemap: typeof validateSitemap;
1239
1268
  declare namespace network {
1240
- export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1269
+ export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, type network_CookieSizeBudgetResult as CookieSizeBudgetResult, type network_CookieSizeEntry as CookieSizeEntry, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_calculateCookieSizeBudget as calculateCookieSizeBudget, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1241
1270
  }
1242
1271
 
1243
- export { type ParsedClientHint as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HarSummary as F, type GeoResult as G, HTTP_HEADERS as H, type HeaderCategory as I, type HstsOptions as J, type HstsResult as K, type HttpHeader as L, type Ipv6AddressType as M, type Ipv6ParseResult as N, LINK_REL_VALUES as O, type LinkHeaderEntry as P, type LinkHeaderEntryInput as Q, type LinkHeaderResult as R, type LinkRel as S, type ManifestIconInfo as T, type ManifestIssue as U, type ManifestValidationResult as V, type MultipartParseResult as W, type MultipartPart as X, type OpcodeCategory as Y, type OpcodeInfo as Z, PERMISSIONS_POLICY_FEATURES as _, type AcceptLanguageResult as a, buildRetryAfterHeader as a$, type ParsedDnsResult as a0, type ParsedGeoResult as a1, type PermissionsPolicyDirective as a2, type PermissionsPolicyFeatureInput as a3, type PermissionsPolicyResult as a4, type PreferParameter as a5, type PreferPreference as a6, type PreferResult as a7, type PriorityResult as a8, REFERRER_POLICY_VALUES as a9, type StatusCode as aA, type UaDeviceType as aB, type UserAgentInfo as aC, type VaryHeaderEntry as aD, type VaryHeaderResult as aE, type XContentTypeOptionsHeader as aF, type XContentTypeOptionsParseResult as aG, type XRobotsTagFlag as aH, type XRobotsTagOptions as aI, type XRobotsTagResult as aJ, X_CONTENT_TYPE_OPTIONS_HEADER as aK, analyzeEmailHeaders as aL, assessContentTypeRisk as aM, buildAcceptLanguage as aN, buildCacheControl as aO, buildClientHints as aP, buildContentDisposition as aQ, buildDnsQueryUrl as aR, buildGeoUrl as aS, buildHsts as aT, buildLinkHeader as aU, buildMapUrl as aV, buildPermissionsPolicy as aW, buildPreferHeader as aX, buildPriorityHeader as aY, buildRangeHeader as aZ, buildReferrerPolicy as a_, type RangeEntry as aa, type RangeEntryInput as ab, type RangeHeaderResult as ac, type ReceivedHop as ad, type ReferrerPolicyEntry as ae, type ReferrerPolicyResult as af, type ReferrerPolicyValue as ag, type RetryAfterDateResult as ah, type RetryAfterResult as ai, type RetryAfterSecondsResult as aj, type RobotsGroup as ak, type RobotsIssue as al, type RobotsMetaTagFlag as am, type RobotsMetaTagOptions as an, type RobotsMetaTagResult as ao, type RobotsRule as ap, type RobotsValidationResult as aq, STATUS_CODES as ar, type SameSiteValue as as, type SitemapIndexEntry as at, type SitemapIssue as au, type SitemapSplitFile as av, type SitemapUrlEntry as aw, type SitemapValidationResult as ax, type SplitSitemapOptions as ay, type SplitSitemapResult as az, type AuthResultEntry as b, buildRobotsMetaTag as b0, buildVaryHeader as b1, buildXContentTypeOptionsHeader as b2, buildXRobotsTag as b3, checkSetCookieHeader as b4, countryCodeToFlag as b5, extractMultipartBoundary as b6, formatCoordinates as b7, formatTtl as b8, getByCategory as b9, parsePriorityHeader as bA, parseRetryAfterHeader as bB, parseRobotsMetaTag as bC, parseUserAgent as bD, parseVaryHeader as bE, parseXContentTypeOptionsHeader as bF, parseXRobotsTag as bG, searchHeaders as bH, searchStatusCodes as bI, splitSitemap as bJ, statusCodeToText as bK, typeNumberToLabel as bL, validateDomain as bM, validateHeaderName as bN, validateHeaderValue as bO, validateManifest as bP, validateRobotsTxt as bQ, validateSitemap as bR, getHeader as ba, getHeadersByCategory as bb, getStatusByCategory as bc, getStatusCode as bd, isClientError as be, isServerError as bf, isSuccess as bg, isValidIp as bh, isValidIpv4 as bi, isValidIpv6 as bj, listCloseCodes as bk, listOpcodes as bl, lookupCloseCode as bm, lookupOpcode as bn, parseAcceptLanguage as bo, parseClientHintHeaders as bp, parseContentDisposition as bq, parseContentRangeHeader as br, parseDnsResponse as bs, parseGeoResponse as bt, parseHar as bu, parseHsts as bv, parseIpv6Address as bw, parseMultipartFormData as bx, parsePermissionsPolicy as by, parsePreferHeader as bz, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type CloseCodeInfo as j, type CloseCodeRange as k, type ContentDispositionBuildOptions as l, type ContentDispositionBuildResult as m, network as n, type ContentDispositionParseResult as o, type ContentRangeResult as p, type ContentTypeRiskResult as q, type ContentTypeSniffRisk as r, type CookieAttributes as s, type CookieCheckResult as t, type DnsRecord as u, type DnsRecordType as v, type DnsResponse as w, type EmailHeaderField as x, type HarEntry as y, type HarParseResult as z };
1272
+ export { type OpcodeInfo as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type EmailHeaderAnalysis as E, type HarEntry as F, type GeoResult as G, HTTP_HEADERS as H, type HarParseResult as I, type HarSummary as J, type HeaderCategory as K, type HstsOptions as L, type HstsResult as M, type HttpHeader as N, type Ipv6AddressType as O, type Ipv6ParseResult as P, LINK_REL_VALUES as Q, type LinkHeaderEntry as R, type LinkHeaderEntryInput as S, type LinkHeaderResult as T, type LinkRel as U, type ManifestIconInfo as V, type ManifestIssue as W, type ManifestValidationResult as X, type MultipartParseResult as Y, type MultipartPart as Z, type OpcodeCategory as _, type AcceptLanguageResult as a, buildRangeHeader as a$, PERMISSIONS_POLICY_FEATURES as a0, type ParsedClientHint as a1, type ParsedDnsResult as a2, type ParsedGeoResult as a3, type PermissionsPolicyDirective as a4, type PermissionsPolicyFeatureInput as a5, type PermissionsPolicyResult as a6, type PreferParameter as a7, type PreferPreference as a8, type PreferResult as a9, type SplitSitemapOptions as aA, type SplitSitemapResult as aB, type StatusCode as aC, type UaDeviceType as aD, type UserAgentInfo as aE, type VaryHeaderEntry as aF, type VaryHeaderResult as aG, type XContentTypeOptionsHeader as aH, type XContentTypeOptionsParseResult as aI, type XRobotsTagFlag as aJ, type XRobotsTagOptions as aK, type XRobotsTagResult as aL, X_CONTENT_TYPE_OPTIONS_HEADER as aM, analyzeEmailHeaders as aN, assessContentTypeRisk as aO, buildAcceptLanguage as aP, buildCacheControl as aQ, buildClientHints as aR, buildContentDisposition as aS, buildDnsQueryUrl as aT, buildGeoUrl as aU, buildHsts as aV, buildLinkHeader as aW, buildMapUrl as aX, buildPermissionsPolicy as aY, buildPreferHeader as aZ, buildPriorityHeader as a_, type PriorityResult as aa, REFERRER_POLICY_VALUES as ab, type RangeEntry as ac, type RangeEntryInput as ad, type RangeHeaderResult as ae, type ReceivedHop as af, type ReferrerPolicyEntry as ag, type ReferrerPolicyResult as ah, type ReferrerPolicyValue as ai, type RetryAfterDateResult as aj, type RetryAfterResult as ak, type RetryAfterSecondsResult as al, type RobotsGroup as am, type RobotsIssue as an, type RobotsMetaTagFlag as ao, type RobotsMetaTagOptions as ap, type RobotsMetaTagResult as aq, type RobotsRule as ar, type RobotsValidationResult as as, STATUS_CODES as at, type SameSiteValue as au, type SitemapIndexEntry as av, type SitemapIssue as aw, type SitemapSplitFile as ax, type SitemapUrlEntry as ay, type SitemapValidationResult as az, type AuthResultEntry as b, buildReferrerPolicy as b0, buildRetryAfterHeader as b1, buildRobotsMetaTag as b2, buildVaryHeader as b3, buildXContentTypeOptionsHeader as b4, buildXRobotsTag as b5, calculateCookieSizeBudget as b6, checkSetCookieHeader as b7, countryCodeToFlag as b8, extractMultipartBoundary as b9, parseMultipartFormData as bA, parsePermissionsPolicy as bB, parsePreferHeader as bC, parsePriorityHeader as bD, parseRetryAfterHeader as bE, parseRobotsMetaTag as bF, parseUserAgent as bG, parseVaryHeader as bH, parseXContentTypeOptionsHeader as bI, parseXRobotsTag as bJ, searchHeaders as bK, searchStatusCodes as bL, splitSitemap as bM, statusCodeToText as bN, typeNumberToLabel as bO, validateDomain as bP, validateHeaderName as bQ, validateHeaderValue as bR, validateManifest as bS, validateRobotsTxt as bT, validateSitemap as bU, formatCoordinates as ba, formatTtl as bb, getByCategory as bc, getHeader as bd, getHeadersByCategory as be, getStatusByCategory as bf, getStatusCode as bg, isClientError as bh, isServerError as bi, isSuccess as bj, isValidIp as bk, isValidIpv4 as bl, isValidIpv6 as bm, listCloseCodes as bn, listOpcodes as bo, lookupCloseCode as bp, lookupOpcode as bq, parseAcceptLanguage as br, parseClientHintHeaders as bs, parseContentDisposition as bt, parseContentRangeHeader as bu, parseDnsResponse as bv, parseGeoResponse as bw, parseHar as bx, parseHsts as by, parseIpv6Address as bz, type CacheControlDirective as c, type CacheControlOptions as d, type CacheControlResult as e, type ClientHintDef as f, type ClientHintValueType as g, type ClientHintsBuildResult as h, type ClientHintsParseResult as i, type CloseCodeInfo as j, type CloseCodeRange as k, type ContentDispositionBuildOptions as l, type ContentDispositionBuildResult as m, network as n, type ContentDispositionParseResult as o, type ContentRangeResult as p, type ContentTypeRiskResult as q, type ContentTypeSniffRisk as r, type CookieAttributes as s, type CookieCheckResult as t, type CookieSizeBudgetResult as u, type CookieSizeEntry as v, type DnsRecord as w, type DnsRecordType as x, type DnsResponse as y, type EmailHeaderField as z };