{"x402Version":2,"service":"HALOWERK sicherwerk","version":"1.0.0","network":"eip155:8453","network_name":"Base Mainnet","chain_id":8453,"recipient":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","asset":{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6},"facilitators":["CDP","https://facilitator.xpay.sh"],"payment_headers":{"primary":"PAYMENT-SIGNATURE","accepted":["PAYMENT-SIGNATURE","X-Payment","PAYMENT"],"challenge":["PAYMENT-REQUIRED"],"response":["PAYMENT-RESPONSE"]},"resources":[{"url":"https://sicher.halowerk.com/v1/cve-check","method":"POST","name":"cve_check","description":"Queries OSV.dev for a list of packages with versions across npm, PyPI, Go, Maven, crates.io, NuGet, RubyGems, Packagist and the Linux distributions. For each package it returns the vulnerabilities found with their identifiers, severity and summary, and the single figure that decides what to do next: the lowest version that fixes all of them, derived from the fixed-version events in the affected ranges.","summary":"Check a package list against known vulnerabilities and get, per package, the severity breakdown and the lowest version that closes every finding.","inputSchema":{"type":"object","required":["packages"],"additionalProperties":false,"properties":{"packages":{"type":"array","minItems":1,"maxItems":100,"description":"The packages to check.","items":{"type":"object","required":["name","version"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"Package name as the ecosystem spells it."},"version":{"type":"string","minLength":1,"maxLength":60,"description":"Exact installed version."},"ecosystem":{"type":"string","maxLength":30,"description":"Ecosystem, e.g. npm, PyPI, Go. Defaults to the top-level value."}}}},"ecosystem":{"type":"string","maxLength":30,"default":"npm","description":"Default ecosystem for entries that do not name one."},"min_severity":{"type":"string","enum":["low","medium","high","critical"],"description":"Only report findings at or above this severity."},"include_details":{"type":"boolean","default":true,"description":"Fetch summary and severity per finding. Off is faster but returns ids only."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","cve","vulnerabilities","sbom"],"example_request":{"packages":[{"name":"lodash","version":"4.17.21","ecosystem":"npm"}],"include_details":false},"requestExample":{"packages":[{"name":"lodash","version":"4.17.21","ecosystem":"npm"}],"include_details":false},"outputSchema":{"type":"object"}},{"url":"https://sicher.halowerk.com/v1/sbom","method":"POST","name":"sbom_build","description":"Parses package-lock.json, package.json, requirements.txt, go.mod and Cargo.lock and emits a bill of materials in CycloneDX 1.5 or SPDX 2.3, with a package URL per component. The distinction that decides whether the document is worth anything is made explicit: a lockfile names the versions actually installed, a manifest only names ranges, and a bill of materials built from ranges describes what might be installed rather than what is.","summary":"Build a CycloneDX or SPDX software bill of materials from package manifests or lockfiles, and say whether the versions are exact enough to be evidence.","inputSchema":{"type":"object","required":["files"],"additionalProperties":false,"properties":{"files":{"type":"array","minItems":1,"maxItems":10,"description":"The manifest or lock files.","items":{"type":"object","required":["content"],"additionalProperties":false,"properties":{"filename":{"type":"string","maxLength":300,"description":"File name; the type is detected from content if absent."},"content":{"type":"string","maxLength":4194304,"description":"File contents as text."}}}},"format":{"type":"string","enum":["cyclonedx","spdx","plain"],"default":"cyclonedx","description":"Output format."},"include_dev":{"type":"boolean","default":false,"description":"Include development-only dependencies."},"project_name":{"type":"string","maxLength":200,"default":"unnamed-project","description":"Name for the document metadata."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","sbom","cyclonedx","spdx","supply-chain"],"example_request":{"files":[{"filename":"package-lock.json","content":"{\"name\": \"synthetic-example\", \"lockfileVersion\": 3, \"packages\": {\"\": {\"name\": \"synthetic-example\"}, \"node_modules/lodash\": {\"version\": \"4.17.21\"}}}"}],"format":"cyclonedx","project_name":"synthetic-example"},"requestExample":{"files":[{"filename":"package-lock.json","content":"{\"name\": \"synthetic-example\", \"lockfileVersion\": 3, \"packages\": {\"\": {\"name\": \"synthetic-example\"}, \"node_modules/lodash\": {\"version\": \"4.17.21\"}}}"}],"format":"cyclonedx","project_name":"synthetic-example"},"outputSchema":{"type":"object"},"outputExample":{"format":"cyclonedx","document":{"bomFormat":"CycloneDX","specVersion":"1.5","serialNumber":"urn:uuid:736beb5b-c03c-48f7-a875-1a303ddbc99d","version":1,"metadata":{"timestamp":"2026-10-22T23:41:36.986Z","tools":[{"vendor":"HALOWERK","name":"sicherwerk","version":"1.0"}],"component":{"type":"application","name":"synthetic-example"}},"components":[{"type":"library","name":"lodash","version":"4.17.21","purl":"pkg:npm/lodash@4.17.21","scope":"required","properties":[{"name":"halowerk:direct","value":"true"}]}]},"component_count":1,"direct_count":1,"transitive_count":0,"dev_included":false,"dev_excluded_count":0,"ecosystems":{"npm":1},"files":[{"filename":"package-lock.json","recognised":true,"type":"npm-Sperrdatei","exact_versions":true,"components":1}],"exact_versions":true,"evidence_note":"Alle Versionen stammen aus Sperrdateien und sind exakt. Diese Stueckliste beschreibt, was tatsaechlich installiert ist.","components_without_version":0,"next_step":"Die Komponentenliste laesst sich unveraendert an /v1/cve-check und /v1/license-check weiterreichen.","generated_at":"2026-10-22T23:41:36.986Z","duration_ms":1,"limits":"Nur die uebergebenen Dateien werden gelesen — keine Registry, kein Netz. Erkannt werden npm, pip, Go, Cargo. Gebuendelte, gespiegelte oder ueber Systempaketverwaltungen installierte Abhaengigkeiten erscheinen nicht, ebensowenig alles, was zur Laufzeit nachgeladen wird."}},{"url":"https://sicher.halowerk.com/v1/license-check","method":"POST","name":"license_check","description":"Looks up the declared licence of each package through deps.dev and sorts the result by the only question that matters for a closed, sold product: what does this licence demand. Permissive licences need attribution. Weak copyleft affects changes to the library itself. Strong copyleft can force disclosure of the whole work on distribution. Network copyleft such as AGPL and SSPL bites on operating the software as a service, which is the sharpest case for a paid API.","summary":"Resolve package licences and classify them for commercial use: which force disclosure, which only need attribution, and which are unknown.","inputSchema":{"type":"object","required":["packages"],"additionalProperties":false,"properties":{"packages":{"type":"array","minItems":1,"maxItems":80,"description":"Packages to check.","items":{"type":"object","required":["name"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":200},"version":{"type":"string","maxLength":60,"description":"Exact version. The default version is used if omitted."},"ecosystem":{"type":"string","maxLength":30}}}},"ecosystem":{"type":"string","maxLength":30,"default":"npm","description":"Default ecosystem."},"usage":{"type":"string","enum":["saas","distributed","internal"],"default":"saas","description":"How you use the code. saas = operated as a network service, which is what triggers AGPL."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","licenses","compliance","supply-chain"],"example_request":{"packages":[{"name":"lodash","version":"4.17.21","ecosystem":"npm"}],"usage":"internal"},"requestExample":{"packages":[{"name":"lodash","version":"4.17.21","ecosystem":"npm"}],"usage":"internal"},"outputSchema":{"type":"object"},"outputExample":{"usage":"internal","usage_note":"Rein interne Nutzung ohne Weitergabe: Copyleft greift meist nicht.","packages_checked":1,"packages_found":0,"results":[{"name":"lodash","ecosystem":"npm","version":"4.17.21","found":false,"error":"Name nicht auflösbar: api.deps.dev","licenses":[],"no_license_declared":false,"worst_risk":"unbekannt","worst_class":"unbekannt","blocks_usage":false,"blocking_reason":null,"deprecated":null,"deprecated_reason":null}],"class_counts":{"unbekannt":1},"blocking":[],"blocking_count":0,"no_license_declared":[],"unknown_licenses":[],"gate":"pass","advice":"Keine Lizenzkonflikte fuer diese Nutzungsart gefunden.","source":"deps.dev (Google), oeffentlich","checked_at":"2026-10-22T23:41:36.989Z","duration_ms":0,"cache":"miss","limits":"A triage classification, not legal advice. deps.dev reports the licence declared by the package; it may differ from licence files in the source, and subcomponents with different licences are not visible. Transitive dependencies are not checked: only the submitted packages are assessed."}},{"url":"https://sicher.halowerk.com/v1/container-inspect","method":"POST","name":"container_inspect","description":"Reads the manifest and config of an OCI or Docker image straight from the registry — a few kilobytes, never the layers, and the image is never run. Returns the digest, the platforms a multi-arch index covers, every layer with its size and the command that produced it, and the runtime configuration: entrypoint, command, working directory, exposed ports, volumes and environment variable names.","summary":"Inspect a container image without pulling it: manifest, layers with sizes, architectures, entrypoint, user, exposed ports and image age.","inputSchema":{"type":"object","required":["image"],"additionalProperties":false,"properties":{"image":{"type":"string","maxLength":400,"description":"Image reference, e.g. alpine:3.19, ghcr.io/owner/app:v1 or repo@sha256:…"},"platform":{"type":"string","maxLength":40,"default":"linux/amd64","description":"Which platform to resolve from a multi-arch index."},"stale_days":{"type":"integer","minimum":1,"maximum":3650,"default":180,"description":"Warn when the image was built more than this many days ago."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","container","oci","supply-chain"],"example_request":{"image":"docker.io/library/alpine:3.20","platform":"linux/amd64"},"requestExample":{"image":"docker.io/library/alpine:3.20","platform":"linux/amd64"},"outputSchema":{"type":"object"}},{"url":"https://sicher.halowerk.com/v1/tls-chain","method":"POST","name":"tls_chain","description":"Opens a TLS connection and reports the chain the server presents. Per certificate: subject and issuer, validity window with days remaining, serial, SHA-256 fingerprint, key type and size, and the subject alternative names.","summary":"Read the TLS certificate chain of a host: every certificate with its names, validity, key type and signature, plus expiry warnings and whether the hostname is actually covered.","inputSchema":{"type":"object","required":["host"],"additionalProperties":false,"properties":{"host":{"type":"string","maxLength":255,"description":"Hostname or https URL, e.g. example.com."},"port":{"type":"integer","minimum":1,"maximum":65535,"default":443,"description":"TLS port."},"servername":{"type":"string","maxLength":255,"description":"SNI name if it differs from host."},"warn_days":{"type":"integer","minimum":1,"maximum":365,"default":30,"description":"Warn when a certificate expires within this many days."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","tls","certificates"],"example_request":{"host":"sicher.halowerk.com","port":443},"requestExample":{"host":"sicher.halowerk.com","port":443},"outputSchema":{"type":"object"}},{"url":"https://sicher.halowerk.com/v1/jwt-verify","method":"POST","name":"jwt_verify","description":"Decodes a JWT and checks it in two layers. Structure and claims: expiry, not-before and issued-at against the current time with the clock skew you allow, issuer and audience against the values you expect, and the token lifetime. Signature: HMAC with a shared secret, or RSA, RSA-PSS and ECDSA against a PEM key or a JWKS you point at, with the kid matched to the right key.","summary":"Verify a JWT signature and claims, and name the classic token attacks explicitly: alg none, HMAC confusion, unbounded lifetime, missing audience.","inputSchema":{"type":"object","required":["token"],"additionalProperties":false,"properties":{"token":{"type":"string","minLength":10,"maxLength":20000,"description":"The JWT in compact form."},"secret":{"type":"string","maxLength":2000,"description":"Shared secret for HS256/384/512."},"public_key_pem":{"type":"string","maxLength":8000,"description":"PEM public key for RS/PS/ES algorithms."},"jwks_url":{"type":"string","maxLength":2000,"description":"JWKS endpoint; the key is picked by kid."},"expected_issuer":{"type":"string","maxLength":500,"description":"Issuer the token must carry."},"expected_audience":{"type":"string","maxLength":500,"description":"Audience the token must name."},"clock_skew_seconds":{"type":"integer","minimum":0,"maximum":3600,"default":60,"description":"Tolerance for exp and nbf."},"max_lifetime_seconds":{"type":"integer","minimum":1,"description":"Flag tokens valid for longer than this."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","jwt","tokens","auth"],"example_request":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuaW52YWxpZC9oYWxvd2Vyay1zeW50aGV0aWMiLCJzdWIiOiJzeW50aGV0aWMtZXhhbXBsZSIsImF1ZCI6InN5bnRoZXRpYy1leGFtcGxlIiwiaWF0Ijo5NDY2ODQ4MDAsImV4cCI6OTQ2Njg4NDAwfQ.RyBcYWZR8Bd7xTj_QqASWo1SGVw16vZR2EhIG6tAjiw","secret":"HALOWERK-public-synthetic-example-never-use-for-authentication","expected_issuer":"https://example.invalid/halowerk-synthetic","expected_audience":"synthetic-example"},"requestExample":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2V4YW1wbGUuaW52YWxpZC9oYWxvd2Vyay1zeW50aGV0aWMiLCJzdWIiOiJzeW50aGV0aWMtZXhhbXBsZSIsImF1ZCI6InN5bnRoZXRpYy1leGFtcGxlIiwiaWF0Ijo5NDY2ODQ4MDAsImV4cCI6OTQ2Njg4NDAwfQ.RyBcYWZR8Bd7xTj_QqASWo1SGVw16vZR2EhIG6tAjiw","secret":"HALOWERK-public-synthetic-example-never-use-for-authentication","expected_issuer":"https://example.invalid/halowerk-synthetic","expected_audience":"synthetic-example"},"outputSchema":{"type":"object"},"outputExample":{"valid":false,"verdict":"invalid","signature":{"algorithm":"HS256","checked":true,"valid":true,"key_source":"secret","kid":null},"header":{"alg":"HS256","typ":"JWT"},"claims":{"iss":"https://example.invalid/halowerk-synthetic","sub":"synthetic-example","aud":"synthetic-example","iat":946684800,"exp":946688400},"timing":{"now":1792712496,"issued_at":946684800,"not_before":null,"expires_at":946688400,"expires_in_seconds":-846024096,"lifetime_seconds":3600,"clock_skew_allowed":60},"identity":{"issuer":"https://example.invalid/halowerk-synthetic","subject":"synthetic-example","audience":"synthetic-example","jwt_id":null,"scopes":null},"findings":[{"severity":"error","code":"expired","message":"Abgelaufen seit 14100402 Minuten."}],"counts":{"error":1,"warning":0,"info":0},"checked_at":"2026-10-22T23:41:36.994Z","limits":"Es wird geprueft, was im Token steht und ob die Signatur passt. Ob der Aussteller vertrauenswuerdig ist, ob das Token widerrufen wurde und ob der Betreff noch Rechte hat, steht hier nicht — dafuer braucht es den ausstellenden Dienst. Ohne Schluessel oder Geheimnis bleibt die Signatur ungeprueft, und die Angaben sind dann blosse Behauptungen."}},{"url":"https://sicher.halowerk.com/v1/webhook-signature","method":"POST","name":"webhook_signature","description":"Providers each build their signing string differently — some sign only the body, others prepend a timestamp, an id, or a version marker in a fixed order — and getting that order wrong produces a mismatch that looks exactly like an attack. This checks the signature the way the named provider actually specifies, with constant-time comparison, and returns the string that was signed so a mismatch can be debugged instead of guessed at.","summary":"Verify a signed webhook from GitHub, Stripe, Shopify, Slack, Svix or a plain HMAC scheme, with the timestamp window checked where the provider signs one.","inputSchema":{"type":"object","required":["provider","body","secret"],"additionalProperties":false,"properties":{"provider":{"type":"string","enum":["github","stripe","shopify","slack","svix","generic_hmac"],"description":"Which provider signed the request."},"body":{"type":"string","maxLength":200000,"description":"The raw request body exactly as received, not re-serialised."},"secret":{"type":"string","minLength":1,"maxLength":2000,"description":"The signing secret."},"signature":{"type":"string","maxLength":2000,"description":"The signature header value. Required unless headers is given."},"headers":{"type":"object","description":"All request headers; the right one is picked by provider."},"timestamp":{"type":"string","maxLength":40,"description":"Timestamp, if the provider signs one and it is not in the headers."},"message_id":{"type":"string","maxLength":200,"description":"Message id for schemes that sign one, e.g. Svix."},"tolerance_seconds":{"type":"integer","minimum":1,"maximum":86400,"default":300,"description":"How old a signed timestamp may be."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","webhook","hmac","signature"],"example_request":{"provider":"github","body":"{\"synthetic\":true,\"event\":\"documentation-example\"}","secret":"HALOWERK-public-synthetic-example-never-use-for-authentication","signature":"sha256=fdfaa7380ce9e369a7d90e8651603bb777a4f008dd3070b056d2b59122d602f8"},"requestExample":{"provider":"github","body":"{\"synthetic\":true,\"event\":\"documentation-example\"}","secret":"HALOWERK-public-synthetic-example-never-use-for-authentication","signature":"sha256=fdfaa7380ce9e369a7d90e8651603bb777a4f008dd3070b056d2b59122d602f8"},"outputSchema":{"type":"object"},"outputExample":{"provider":"github","valid":true,"signature_matches":true,"timestamp_valid":null,"timestamp_age_seconds":null,"tolerance_seconds":300,"algorithm":"sha256","encoding":"hex","expected_signature":"sha256=fdfaa7380ce9e369a7d90e8651603bb777a4f008dd3070b056d2b59122d602f8","signed_string_preview":"{\"synthetic\":true,\"event\":\"documentation-example\"}","signed_string_length":50,"signature_candidates_tried":1,"findings":[{"severity":"info","code":"no_timestamp_signed","message":"github signiert keinen Zeitstempel. Gegen Wiederholung hilft nur, die Zustellungskennung selbst zu entwerten."}],"verdict":"valid","provider_note":"GitHub signiert nur den Rumpf. Ein Wiederholungsangriff ist damit nicht ausgeschlossen — die Zustellungs-ID muss selbst entwertet werden.","checked_at":"2026-10-22T23:41:36.996Z","limits":"Geprueft wird nur, ob die Signatur zum Rumpf und zum Geheimnis passt. Ob der Absender berechtigt ist, ob die Zustellung schon verarbeitet wurde und ob der Inhalt stimmt, steht hier nicht. Wiederholungsschutz braucht immer eine eigene Entwertung der Zustellungskennung — eine gueltige Signatur allein leistet das nicht."}},{"url":"https://sicher.halowerk.com/v1/provenance-verify","method":"POST","name":"provenance_verify","description":"Searches the Sigstore Rekor log for entries matching an artefact hash and returns what a provenance claim is actually worth: the log index and inclusion time, the signing identity from the certificate, and where available the source repository and workflow reference that produced it. Several entries for one hash are all returned, because a rebuild or a second signer is a fact worth seeing rather than collapsing.","summary":"Look up an artefact hash in the Sigstore transparency log and report who signed it, from which repository and workflow, and when.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"sha256":{"type":"string","minLength":64,"maxLength":71,"description":"Artefact SHA-256, with or without the sha256: prefix."},"log_index":{"type":"integer","minimum":0,"description":"Fetch one specific log entry instead of searching."},"email":{"type":"string","maxLength":200,"description":"Search by signer email instead of by hash."},"limit":{"type":"integer","minimum":1,"maximum":20,"default":5,"description":"How many entries to detail."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","sigstore","provenance","supply-chain"],"example_request":{"sha256":"a3f1c2d4e5b6978012345678901234567890abcdefabcdefabcdef1234567890"},"requestExample":{"sha256":"a3f1c2d4e5b6978012345678901234567890abcdefabcdefabcdef1234567890"},"outputSchema":{"type":"object"}},{"url":"https://sicher.halowerk.com/v1/hash-reputation","method":"POST","name":"hash_reputation","description":"Queries three abuse.ch metadata services for an MD5, SHA-1 or SHA-256 value. It reports known malware metadata, associated ThreatFox indicators, and URLhaus payload provenance, then derives a conservative known-malicious or unknown verdict. No endpoint for sample retrieval is called and no binary is downloaded. A missing record means unknown to these sources, not proven benign. VirusTotal is deliberately not used because its public terms do not permit redistribution in this paid product.","summary":"Check a file hash against MalwareBazaar, ThreatFox and URLhaus and return reputation metadata and linked indicators without downloading any sample.","inputSchema":{"type":"object","required":["hash"],"additionalProperties":false,"properties":{"hash":{"type":"string","minLength":32,"maxLength":64,"pattern":"^[A-Fa-f0-9]+$","description":"MD5, SHA-1 or SHA-256 digest."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","malware","hash","threat-intelligence"],"example_request":{"hash":"094fd325049b8a9cf6d3e5ef2a6d4cc6a567d7d49c35f8bb8dd9e3c6acf3d78d"},"requestExample":{"hash":"094fd325049b8a9cf6d3e5ef2a6d4cc6a567d7d49c35f8bb8dd9e3c6acf3d78d"},"outputSchema":{"type":"object"},"outputExample":{"hash":"094fd325049b8a9cf6d3e5ef2a6d4cc6a567d7d49c35f8bb8dd9e3c6acf3d78d","hash_type":"sha256","verdict":"unknown","known":false,"malwarebazaar":{"records":[],"count":0},"threatfox":{"indicators":[],"count":0},"urlhaus":null,"source_status":{"malwarebazaar":{"status":"unavailable","query_status":null,"error":"source_not_configured"},"threatfox":{"status":"unavailable","query_status":null,"error":"source_not_configured"},"urlhaus":{"status":"unavailable","query_status":null,"error":"source_not_configured"}},"quelle":"abuse.ch (MalwareBazaar, ThreatFox, URLhaus)","checked_at":"2026-10-22T23:41:37.082Z","duration_ms":84,"cache":"miss","hinweis":"Unknown to the queried sources is not evidence that the file is benign.","samples_downloaded":false}},{"url":"https://sicher.halowerk.com/v1/log-chain-verify","method":"POST","name":"log_chain_verify","description":"Recomputes every record hash from a canonical JSON representation of id, sequence, timestamp, previous_hash and payload, then checks that each record points to the hash of the record before it. If a root_hash is supplied, the same computed record hashes are folded into a deterministic binary Merkle tree with the last leaf duplicated on odd levels.","summary":"Verify an audit log hash chain, identify the first broken record, and optionally compare a Merkle root over the same entries.","inputSchema":{"type":"object","required":["records"],"additionalProperties":false,"properties":{"records":{"type":"array","minItems":1,"maxItems":500,"description":"Audit records in chain order.","items":{"type":"object","required":["id","sequence","timestamp","previous_hash","payload","hash"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":160,"description":"Stable event id."},"sequence":{"type":"integer","minimum":0,"maximum":1000000000,"description":"Monotonic event position."},"timestamp":{"type":"string","minLength":1,"maxLength":80,"description":"Event time as supplied by the log producer."},"previous_hash":{"anyOf":[{"type":"string","minLength":64,"maxLength":71},{"type":"null"}],"description":"Hash of the previous record, or null for the first record."},"payload":{"description":"Event payload to include in the record hash."},"hash":{"type":"string","minLength":64,"maxLength":71,"description":"Claimed SHA-256 hash of this record."}}}},"root_hash":{"type":"string","minLength":64,"maxLength":71,"description":"Optional claimed Merkle root over the computed record hashes."},"require_monotonic_sequence":{"type":"boolean","default":true,"description":"Require sequence numbers to increase by one."}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"5000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["security","audit","hash-chain","merkle"],"example_request":{"records":[{"id":"evt-001","sequence":1,"timestamp":"2026-08-19T09:00:00Z","previous_hash":null,"payload":{"action":"created","actor":"build-bot","subject":"release-2026.08.19"},"hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4"},{"id":"evt-002","sequence":2,"timestamp":"2026-08-19T09:01:00Z","previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","payload":{"action":"approved","actor":"release-manager","subject":"release-2026.08.19"},"hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c"}],"root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426"},"requestExample":{"records":[{"id":"evt-001","sequence":1,"timestamp":"2026-08-19T09:00:00Z","previous_hash":null,"payload":{"action":"created","actor":"build-bot","subject":"release-2026.08.19"},"hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4"},{"id":"evt-002","sequence":2,"timestamp":"2026-08-19T09:01:00Z","previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","payload":{"action":"approved","actor":"release-manager","subject":"release-2026.08.19"},"hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c"}],"root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426"},"outputSchema":{"type":"object"},"outputExample":{"valid":true,"verdict":"consistent","record_count":2,"first_broken":null,"merkle":{"checked":true,"claimed_root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426","computed_root_hash":"f6e5b0a2eeed0102fcdd3480a6f7a851bb55679f2d3c7e532df3780f46c1b426","root_matches":true,"tree_rule":"Pair adjacent computed record hashes as text, duplicate the last hash on odd levels, SHA-256 each concatenated pair."},"records":[{"index":0,"id":"evt-001","sequence":1,"claimed_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","computed_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","hash_matches":true,"claimed_previous_hash":null,"expected_previous_hash":null,"link_matches":true,"sequence_matches":true},{"index":1,"id":"evt-002","sequence":2,"claimed_hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c","computed_hash":"4584b3d398d3dd075f43d61a2c44991c61d3183c22243582c367cdccb1af664c","hash_matches":true,"claimed_previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","expected_previous_hash":"7f07223905bb01a5b3f2eda8a61c69280b6e75c938712afcb187bbf2a0d696c4","link_matches":true,"sequence_matches":true}],"findings":[],"checked_at":"2026-10-22T23:41:37.085Z","duration_ms":0,"limits":"This verifies internal hash-chain consistency only. It does not prove that the logged events happened, that identities are authorized, or that an external transparency service accepted the log."}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-csr-self-signature-audit","method":"POST","name":"oss_openssl_csr_self_signature_audit","description":"Runs the pinned OpenSSL build against a submitted certificate request and answers two questions a registration authority has to settle before it signs anything: does the request carry a valid self-signature over its own body, and what exactly is being requested. The reply names the subject, the public key parameters and every requested extension as OpenSSL parses them, so a policy check compares against the parsed request rather than the text an applicant supplied.","summary":"Verify the proof-of-possession signature on a PKCS#10 certificate request and read back the subject, key and extensions it actually asks for.","inputSchema":{"type":"object","additionalProperties":false,"required":["csr_pem"],"properties":{"csr_pem":{"type":"string","maxLength":262144,"minLength":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"csr_pem":"-----BEGIN CERTIFICATE REQUEST-----\nMIICnjCCAYYCAQAwIzEhMB8GA1UEAwwYZml4dHVyZS5oYWxvd2Vyay5pbnZhbGlk\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjwTk3ZwVC7tWYSnhquXw\nKI4MbYSvyV20ZodcGYaMsRDc6JQSm04srCiQe5I5JtJOYJbUUUPVY0KswOzhV2El\nyFH7/n38OhLfWzY2CYCwu+zhxJq0YTRlr7f4fpdm72KxwyMUo17KteGofnszLa/s\nI4jWrl083oP7XrwTBcJxZ2v+hkEAA4UGNYgnXl/ANAalOVJg825hxjXcbbRiNjcC\nDHVuIXfdyHDIId0NRVTbfXLcTA1zDfAE4+jhDaC7aToCccCBLOjzZSkN5SzTx3NR\nDuO5GUpW5SgewWPmB62hpF5BPzA+/t/DOMDLKhyqOHvj0hsKWvHkui+is8k3H/eE\ntwIDAQABoDYwNAYJKoZIhvcNAQkOMScwJTAjBgNVHREEHDAaghhmaXh0dXJlLmhh\nbG93ZXJrLmludmFsaWQwDQYJKoZIhvcNAQELBQADggEBAB1xZnByNFDDw3apHF7A\nHOdIKZ34fdEDYWgcoIjPT0iFO9NB33hKQpI9gb2xkHKMqBg5W8DjcDnc510O61Dz\nsOGaDeEdaIpPg33RUmXJIIIUEWCinEHTOr3bMdK6jb/t0a69ORappncuWniOUB9o\nSWy0+ru+aVLuHu24WkdLXjsz1GzPpKez98uaTenMe5aXPsjEOTW2yzc/4is3jilL\ngEuMXh5kFOqawOIiopXqQz3IMhntkkiWjEy8P/qRUobbGqeWNat/dI5n0TCGzt0K\n+B4RUMnqldeTp1KDkp1BsbObpBUC7bX6j345ZEjUrPW0xtpL3nknUpkcV+dau0P+\nwOs=\n-----END CERTIFICATE REQUEST-----\n"},"requestExample":{"csr_pem":"-----BEGIN CERTIFICATE REQUEST-----\nMIICnjCCAYYCAQAwIzEhMB8GA1UEAwwYZml4dHVyZS5oYWxvd2Vyay5pbnZhbGlk\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjwTk3ZwVC7tWYSnhquXw\nKI4MbYSvyV20ZodcGYaMsRDc6JQSm04srCiQe5I5JtJOYJbUUUPVY0KswOzhV2El\nyFH7/n38OhLfWzY2CYCwu+zhxJq0YTRlr7f4fpdm72KxwyMUo17KteGofnszLa/s\nI4jWrl083oP7XrwTBcJxZ2v+hkEAA4UGNYgnXl/ANAalOVJg825hxjXcbbRiNjcC\nDHVuIXfdyHDIId0NRVTbfXLcTA1zDfAE4+jhDaC7aToCccCBLOjzZSkN5SzTx3NR\nDuO5GUpW5SgewWPmB62hpF5BPzA+/t/DOMDLKhyqOHvj0hsKWvHkui+is8k3H/eE\ntwIDAQABoDYwNAYJKoZIhvcNAQkOMScwJTAjBgNVHREEHDAaghhmaXh0dXJlLmhh\nbG93ZXJrLmludmFsaWQwDQYJKoZIhvcNAQELBQADggEBAB1xZnByNFDDw3apHF7A\nHOdIKZ34fdEDYWgcoIjPT0iFO9NB33hKQpI9gb2xkHKMqBg5W8DjcDnc510O61Dz\nsOGaDeEdaIpPg33RUmXJIIIUEWCinEHTOr3bMdK6jb/t0a69ORappncuWniOUB9o\nSWy0+ru+aVLuHu24WkdLXjsz1GzPpKez98uaTenMe5aXPsjEOTW2yzc/4is3jilL\ngEuMXh5kFOqawOIiopXqQz3IMhntkkiWjEy8P/qRUobbGqeWNat/dI5n0TCGzt0K\n+B4RUMnqldeTp1KDkp1BsbObpBUC7bX6j345ZEjUrPW0xtpL3nknUpkcV+dau0P+\nwOs=\n-----END CERTIFICATE REQUEST-----\n"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["signature_valid","request_details","warnings"],"properties":{"signature_valid":{"type":"boolean"},"request_details":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-public-key-math-audit","method":"POST","name":"oss_openssl_public_key_math_audit","description":"Takes a public key in SubjectPublicKeyInfo PEM form and runs the pinned OpenSSL build's own consistency checks over it, then reports the algorithm, the key size in bits and the parameters it found. This catches keys that parse but are structurally unusable: a modulus that is not a valid product, curve parameters that do not match a known group, a size that no longer meets the build's security level. The reported bit count comes from the key itself, not from the label a producer attached.","summary":"Check whether a SubjectPublicKeyInfo public key is mathematically sound and report its algorithm, size and parameters as the pinned OpenSSL build reads them.","inputSchema":{"type":"object","additionalProperties":false,"required":["public_key_pem"],"properties":{"public_key_pem":{"type":"string","maxLength":262144,"minLength":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"public_key_pem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjwTk3ZwVC7tWYSnhquXw\nKI4MbYSvyV20ZodcGYaMsRDc6JQSm04srCiQe5I5JtJOYJbUUUPVY0KswOzhV2El\nyFH7/n38OhLfWzY2CYCwu+zhxJq0YTRlr7f4fpdm72KxwyMUo17KteGofnszLa/s\nI4jWrl083oP7XrwTBcJxZ2v+hkEAA4UGNYgnXl/ANAalOVJg825hxjXcbbRiNjcC\nDHVuIXfdyHDIId0NRVTbfXLcTA1zDfAE4+jhDaC7aToCccCBLOjzZSkN5SzTx3NR\nDuO5GUpW5SgewWPmB62hpF5BPzA+/t/DOMDLKhyqOHvj0hsKWvHkui+is8k3H/eE\ntwIDAQAB\n-----END PUBLIC KEY-----\n"},"requestExample":{"public_key_pem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjwTk3ZwVC7tWYSnhquXw\nKI4MbYSvyV20ZodcGYaMsRDc6JQSm04srCiQe5I5JtJOYJbUUUPVY0KswOzhV2El\nyFH7/n38OhLfWzY2CYCwu+zhxJq0YTRlr7f4fpdm72KxwyMUo17KteGofnszLa/s\nI4jWrl083oP7XrwTBcJxZ2v+hkEAA4UGNYgnXl/ANAalOVJg825hxjXcbbRiNjcC\nDHVuIXfdyHDIId0NRVTbfXLcTA1zDfAE4+jhDaC7aToCccCBLOjzZSkN5SzTx3NR\nDuO5GUpW5SgewWPmB62hpF5BPzA+/t/DOMDLKhyqOHvj0hsKWvHkui+is8k3H/eE\ntwIDAQAB\n-----END PUBLIC KEY-----\n"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["mathematically_valid","reported_bits","details","warnings"],"properties":{"mathematically_valid":{"type":"boolean"},"reported_bits":{"type":["integer","null"]},"details":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-certificate-bundle-normalize","method":"POST","name":"oss_openssl_certificate_bundle_normalize","description":"Accepts up to sixteen certificates in any PEM shape and returns a single normalized bundle. Duplicates are identified by their canonical DER encoding, not by the PEM text, so the same certificate supplied twice with different line wrapping, different header text or trailing whitespace collapses into one entry. The reply gives the input count, the unique count and the resulting bundle, which makes it usable as a preparation step before a trust store is built or shipped.","summary":"Turn a pile of PEM certificates into one deduplicated bundle, comparing canonical DER encodings so cosmetic differences do not count as distinct certificates.","inputSchema":{"type":"object","additionalProperties":false,"required":["certificates_pem"],"properties":{"certificates_pem":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":262144,"minLength":1},"minItems":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"certificates_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"requestExample":{"certificates_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n","-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["input_count","unique_count","artifact","warnings"],"properties":{"input_count":{"type":"integer"},"unique_count":{"type":"integer"},"artifact":{"type":"object","additionalProperties":false,"required":["data_base64","media_type","bytes","sha256"],"properties":{"data_base64":{"type":"string","maxLength":2097152},"media_type":{"type":"string","maxLength":2097152},"bytes":{"type":"integer"},"sha256":{"type":"string","maxLength":2097152}}},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-rfc3161-request-build","method":"POST","name":"oss_openssl_rfc3161_request_build","description":"Produces a ready-to-post RFC 3161 TimeStampReq for a SHA-256 digest you already computed. The pinned OpenSSL build encodes the message imprint, adds a fresh nonce so a replayed response can be detected, and sets the flag that asks the timestamp authority to include its signing certificate in the reply. The result is returned as a binary artifact together with the imprint it was built around, so the caller can check that the request really covers the intended digest.","summary":"Build a binary RFC 3161 timestamp request around a supplied SHA-256 digest, with a fresh nonce and the certificate-request flag set.","inputSchema":{"type":"object","additionalProperties":false,"required":["sha256"],"properties":{"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"sha256":"630ef5fa9f154edb61d2bb1f0767b6f110d1600860e8afc4d363cb20d0f52da0"},"requestExample":{"sha256":"630ef5fa9f154edb61d2bb1f0767b6f110d1600860e8afc4d363cb20d0f52da0"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["artifact","message_imprint_sha256","warnings"],"properties":{"artifact":{"type":"object","additionalProperties":false,"required":["data_base64","media_type","bytes","sha256"],"properties":{"data_base64":{"type":"string","maxLength":2097152},"media_type":{"type":"string","maxLength":2097152},"bytes":{"type":"integer"},"sha256":{"type":"string","maxLength":2097152}}},"message_imprint_sha256":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-cms-envelope-encrypt","method":"POST","name":"oss_openssl_cms_envelope_encrypt","description":"Wraps the supplied bytes in a CMS EnvelopedData envelope using the pinned OpenSSL build, addressed to every recipient certificate you pass in. A single content-encryption key protects the payload and is itself encrypted once per recipient, so any one holder of a matching private key can decrypt, and nobody else can. The reply names the cipher actually used and the recipient count, so an agent can record what it produced rather than assume it.","summary":"Encrypt supplied bytes into a CMS EnvelopedData structure for up to sixteen recipient certificates, so only the matching private keys can open it.","inputSchema":{"type":"object","additionalProperties":false,"required":["data_base64","recipients_pem"],"properties":{"data_base64":{"type":"string","maxLength":262144,"minLength":1},"recipients_pem":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":262144,"minLength":1},"minItems":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"data_base64":"SEFMT1dFUksgc3ludGhldGljIGNvbmZpZGVudGlhbGl0eSBmaXh0dXJlAP8KTGluZSB0d28u","recipients_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"requestExample":{"data_base64":"SEFMT1dFUksgc3ludGhldGljIGNvbmZpZGVudGlhbGl0eSBmaXh0dXJlAP8KTGluZSB0d28u","recipients_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["artifact","recipient_count","cipher","warnings"],"properties":{"artifact":{"type":"object","additionalProperties":false,"required":["data_base64","media_type","bytes","sha256"],"properties":{"data_base64":{"type":"string","maxLength":2097152},"media_type":{"type":"string","maxLength":2097152},"bytes":{"type":"integer"},"sha256":{"type":"string","maxLength":2097152}}},"recipient_count":{"type":"integer"},"cipher":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-pkcs12-certificate-store-build","method":"POST","name":"oss_openssl_pkcs12_certificate_store_build","description":"Builds a PKCS#12 container holding certificates only, for the common case where a runtime insists on PKCS#12 as its trust store format. The password is explicitly empty and reported back as such, so nothing depends on an undocumented default, and the reply states outright that the store contains no private keys. That matters: a PKCS#12 file is the usual carrier for a key, and a consumer must be able to tell a trust store from an identity store without opening it.","summary":"Package up to sixteen certificates into an interoperable certificate-only PKCS#12 store with an explicitly empty password and no private key inside.","inputSchema":{"type":"object","additionalProperties":false,"required":["certificates_pem"],"properties":{"certificates_pem":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":262144,"minLength":1},"minItems":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"certificates_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"requestExample":{"certificates_pem":["-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"]},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["artifact","certificate_count","contains_private_keys","password","warnings"],"properties":{"artifact":{"type":"object","additionalProperties":false,"required":["data_base64","media_type","bytes","sha256"],"properties":{"data_base64":{"type":"string","maxLength":2097152},"media_type":{"type":"string","maxLength":2097152},"bytes":{"type":"integer"},"sha256":{"type":"string","maxLength":2097152}}},"certificate_count":{"type":"integer"},"contains_private_keys":{"type":"boolean"},"password":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-dh-group-check","method":"POST","name":"oss_openssl_dh_group_check","description":"Runs the pinned OpenSSL build's parameter checks over a supplied finite-field Diffie-Hellman group and reports whether it passes, along with the detail output that says why. The point is to catch parameters that are syntactically fine but cryptographically unsafe before they reach a handshake: a non-prime modulus, a generator of small order, a group below the build's security level.","summary":"Validate supplied finite-field Diffie-Hellman parameters against the pinned OpenSSL build's own checks, under a strict CPU deadline.","inputSchema":{"type":"object","additionalProperties":false,"required":["parameters_pem"],"properties":{"parameters_pem":{"type":"string","maxLength":262144,"minLength":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"3000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"parameters_pem":"-----BEGIN DH PARAMETERS-----\nMIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\nYdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\nssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==\n-----END DH PARAMETERS-----\n"},"requestExample":{"parameters_pem":"-----BEGIN DH PARAMETERS-----\nMIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz\n+8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a\n87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7\nYdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi\n7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD\nssbzSibBsu/6iGtCOGEoXJf//////////wIBAg==\n-----END DH PARAMETERS-----\n"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["parameters_valid","details","warnings"],"properties":{"parameters_valid":{"type":"boolean"},"details":{"type":"string","maxLength":2097152},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-tls12-cipher-policy-expand","method":"POST","name":"oss_openssl_tls12_cipher_policy_expand","description":"Takes a cipher policy in OpenSSL syntax and resolves it into the concrete list of TLS 1.2 cipher suites that the pinned build would actually offer, in the order it would offer them. This closes the gap between a policy string in a configuration file and what a server ends up negotiating: aliases expand, exclusions apply, and suites below the build's security level drop out silently in normal operation. Here they simply do not appear in the list, and the count says how many survived.","summary":"Compile an OpenSSL cipher policy string into the effective TLS 1.2 suite list, in preference order, under the pinned build's security level.","inputSchema":{"type":"object","additionalProperties":false,"required":["cipher_rule"],"properties":{"cipher_rule":{"type":"string","pattern":"^[A-Za-z0-9_:@!+.,=\\-]{1,256}$"}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"cipher_rule":"ECDHE-RSA-AES256-GCM-SHA384"},"requestExample":{"cipher_rule":"ECDHE-RSA-AES256-GCM-SHA384"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["protocol","suites","count","warnings"],"properties":{"protocol":{"type":"string","maxLength":2097152},"suites":{"type":"array","maxItems":262144,"items":{"type":"object","additionalProperties":false,"required":["iana_name","openssl_name","protocol","key_exchange","authentication","encryption","mac"],"properties":{"iana_name":{"type":"string","maxLength":2097152},"openssl_name":{"type":"string","maxLength":2097152},"protocol":{"type":"string","maxLength":2097152},"key_exchange":{"type":"string","maxLength":2097152},"authentication":{"type":"string","maxLength":2097152},"encryption":{"type":"string","maxLength":2097152},"mac":{"type":"string","maxLength":2097152}}}},"count":{"type":"integer"},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-x509-purpose-evaluate","method":"POST","name":"oss_openssl_x509_purpose_evaluate","description":"Reads the constraints inside a single certificate — basic constraints, key usage, extended key usage — and reports, per role, whether the certificate permits being used that way under the pinned OpenSSL build's rules. Roles covered are TLS client, TLS server, S/MIME signing and encryption, and timestamp signing. This answers the frequent confusion where a certificate is deployed for a purpose its own extensions forbid, and the failure only shows up as an opaque handshake error later.","summary":"Evaluate which roles a certificate's own constraints permit — TLS client, TLS server, S/MIME and timestamp signing — under the pinned OpenSSL rules.","inputSchema":{"type":"object","additionalProperties":false,"required":["certificate_pem"],"properties":{"certificate_pem":{"type":"string","maxLength":262144,"minLength":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"certificate_pem":"-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"},"requestExample":{"certificate_pem":"-----BEGIN CERTIFICATE-----\nMIIDCDCCAfCgAwIBAgIDAa3IMA0GCSqGSIb3DQEBCwUAMCMxITAfBgNVBAMMGGZp\neHR1cmUuaGFsb3dlcmsuaW52YWxpZDAeFw0yNTAxMDEwMDAwMDBaFw0zMDAxMDEw\nMDAwMDBaMCMxITAfBgNVBAMMGGZpeHR1cmUuaGFsb3dlcmsuaW52YWxpZDCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI8E5N2cFQu7VmEp4arl8CiODG2E\nr8ldtGaHXBmGjLEQ3OiUEptOLKwokHuSOSbSTmCW1FFD1WNCrMDs4VdhJchR+/59\n/DoS31s2NgmAsLvs4cSatGE0Za+3+H6XZu9iscMjFKNeyrXhqH57My2v7COI1q5d\nPN6D+168EwXCcWdr/oZBAAOFBjWIJ15fwDQGpTlSYPNuYcY13G20YjY3Agx1biF3\n3chwyCHdDUVU231y3EwNcw3wBOPo4Q2gu2k6AnHAgSzo82UpDeUs08dzUQ7juRlK\nVuUoHsFj5getoaReQT8wPv7fwzjAyyocqjh749IbClrx5LovorPJNx/3hLcCAwEA\nAaNFMEMwDAYDVR0TAQH/BAIwADAjBgNVHREEHDAaghhmaXh0dXJlLmhhbG93ZXJr\nLmludmFsaWQwDgYDVR0PAQH/BAQDAgWgMA0GCSqGSIb3DQEBCwUAA4IBAQBCwbYm\nciRFz0pbMkzVawNH3/9Vv6yR/2F1Levr8b+d8OIh/V9tcm3blBHwXzvV6HPkmsDj\nrhEN5Rr5om1bzWfHU3ELyUXFZMG3eoGc/DG/TixcXxw7jSp7pZwLTQASeAOYv2k0\nQf9ZWlgoIpa8cP4P9bJ7dQZUS4i4gWaDrgtVVEpSuD7OLnkqsTe6vQIT9sSdjjc1\n9MlM3SJIp/vlSagefvedZE69Q4kDvN1BgPT/diNOpCMIJWU+LhqHEF8U8AAXyl6W\nEYyC64/lmadsmKw6cbyC+KpYjFh7k1UfwzxsMlM1yS14zLhBtYKs3/8/GmJIsVaI\nDmVCA6ajI2xERBn+\n-----END CERTIFICATE-----\n"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["purposes","warnings"],"properties":{"purposes":{"type":"array","maxItems":262144,"items":{"type":"object","additionalProperties":false,"required":["purpose","permitted"],"properties":{"purpose":{"type":"string","maxLength":2097152},"permitted":{"type":"boolean"}}}},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-openssl-asn1-structure-diagnose","method":"POST","name":"oss_openssl_asn1_structure_diagnose","description":"Parses a definite-length binary artifact and returns every ASN.1 object it contains with its byte offset, nesting depth, header and content lengths, whether it is constructed, and the type as OpenSSL names it. This is the tool for the moment a certificate, key or signature is rejected with an unhelpful parse error and the question is which byte is wrong. Because offsets are exact, a diff against a known-good artifact localises the difference instead of describing it.","summary":"Map the ASN.1 objects inside a binary artifact by offset, depth and encoded length, so a malformed structure can be located at the exact byte.","inputSchema":{"type":"object","additionalProperties":false,"required":["der_base64"],"properties":{"der_base64":{"type":"string","maxLength":262144,"minLength":1}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"1000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","openssl","p012"],"example_request":{"der_base64":"MAgCAQUEA2FiYw=="},"requestExample":{"der_base64":"MAgCAQUEA2FiYw=="},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":2097152},"result":{"type":"object","additionalProperties":false,"required":["nodes","node_count","warnings"],"properties":{"nodes":{"type":"array","maxItems":262144,"items":{"type":"object","additionalProperties":false,"required":["offset","depth","header_bytes","content_bytes","constructed","description"],"properties":{"offset":{"type":"integer"},"depth":{"type":"integer"},"header_bytes":{"type":"integer"},"content_bytes":{"type":"integer"},"constructed":{"type":"boolean"},"description":{"type":"string","maxLength":2097152}}}},"node_count":{"type":"integer"},"warnings":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":2097152},"package_version":{"type":"string","maxLength":2097152},"binary_sha256":{"type":"string","maxLength":2097152},"components":{"type":"array","maxItems":262144,"items":{"type":"string","maxLength":2097152}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-gnupg-detached-signature-verify","method":"POST","name":"oss_gnupg_detached_signature_verify","description":"Checks a detached OpenPGP signature against the bytes it claims to cover, using the pinned GnuPG build and nothing else. What comes back is the verdict in GnuPG's own terms, the fingerprint that actually signed, the signature timestamp, the algorithms used, and whether the key is expired or revoked. A wrong key, a tampered byte or a signature made by someone else each produce a distinct verdict rather than a bare false.","summary":"Verify a detached OpenPGP signature over supplied bytes against a supplied public key, and get the verdict, signing fingerprint and signature time.","inputSchema":{"type":"object","additionalProperties":false,"required":["public_key_armored","signature_armored","signed_data_base64"],"properties":{"public_key_armored":{"type":"string","minLength":1,"maxLength":262144},"signature_armored":{"type":"string","minLength":1,"maxLength":262144},"signed_data_base64":{"type":"string","minLength":1,"maxLength":349528}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","gnupg","p101"],"example_request":{"public_key_armored":"-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEaq1/cxYJKwYBBAHaRw8BAQdA1SVc3kWNOahbtF7NG/+r3J0FRi3eZttjwG4V\n3Q+87Ba0NUhBTE9XRVJLIFBydWVmdm9ybGFnZSA8cHJ1ZWZ2b3JsYWdlQGhhbG93\nZXJrLmV4YW1wbGU+iJMEExYKADsWIQRyU28SJU2LbSX4iJvvVEGQ4+pdywUCaq1/\ncwIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDvVEGQ4+pdy8MhAP9C\n8lCNPBS2EypohGv9TbqIt4muUHRgIqo2cbtoZCCH9QEAqUm1AMxHV1JtTTtuAN3H\nYBALXlpBeOwMfL3g7jCvSQk=\n=aSES\n-----END PGP PUBLIC KEY BLOCK-----\n","signature_armored":"-----BEGIN PGP SIGNATURE-----\n\niHUEABYKAB0WIQRyU28SJU2LbSX4iJvvVEGQ4+pdywUCaq1/cwAKCRDvVEGQ4+pd\ny/YLAQCcqZZLOV9guftS3z3AbKMfQ0fXNk69IaUk1/4XBBC8UAEAwXgKUJ501uNr\nw2AtQSLYn1PZ6F0pN3/LV27xaKoPkAs=\n=w0mv\n-----END PGP SIGNATURE-----\n","signed_data_base64":"UHJ1ZWZ2b3JsYWdlIGZ1ZXIgZGVuIERpZW5zdCBvc3MtZ251cGctZGV0YWNoZWQtc2lnbmF0dXJlLXZlcmlmeS4KVW1sYXV0ZTogR3J1ZcOfZSwgTWHDnywgRnXDny4K"},"requestExample":{"public_key_armored":"-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmDMEaq1/cxYJKwYBBAHaRw8BAQdA1SVc3kWNOahbtF7NG/+r3J0FRi3eZttjwG4V\n3Q+87Ba0NUhBTE9XRVJLIFBydWVmdm9ybGFnZSA8cHJ1ZWZ2b3JsYWdlQGhhbG93\nZXJrLmV4YW1wbGU+iJMEExYKADsWIQRyU28SJU2LbSX4iJvvVEGQ4+pdywUCaq1/\ncwIbAwULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAKCRDvVEGQ4+pdy8MhAP9C\n8lCNPBS2EypohGv9TbqIt4muUHRgIqo2cbtoZCCH9QEAqUm1AMxHV1JtTTtuAN3H\nYBALXlpBeOwMfL3g7jCvSQk=\n=aSES\n-----END PGP PUBLIC KEY BLOCK-----\n","signature_armored":"-----BEGIN PGP SIGNATURE-----\n\niHUEABYKAB0WIQRyU28SJU2LbSX4iJvvVEGQ4+pdywUCaq1/cwAKCRDvVEGQ4+pd\ny/YLAQCcqZZLOV9guftS3z3AbKMfQ0fXNk69IaUk1/4XBBC8UAEAwXgKUJ501uNr\nw2AtQSLYn1PZ6F0pN3/LV27xaKoPkAs=\n=w0mv\n-----END PGP SIGNATURE-----\n","signed_data_base64":"UHJ1ZWZ2b3JsYWdlIGZ1ZXIgZGVuIERpZW5zdCBvc3MtZ251cGctZGV0YWNoZWQtc2lnbmF0dXJlLXZlcmlmeS4KVW1sYXV0ZTogR3J1ZcOfZSwgTWHDnywgRnXDny4K"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":128},"result":{"type":"object","additionalProperties":false,"required":["signature_valid","verdict","status_keywords","signed_data_sha256","warnings"],"properties":{"signature_valid":{"type":"boolean"},"verdict":{"type":"string","maxLength":64},"imported_key_fingerprint":{"type":["string","null"],"maxLength":128},"signing_key_fingerprint":{"type":["string","null"],"maxLength":128},"primary_key_fingerprint":{"type":["string","null"],"maxLength":128},"signature_created_unix":{"type":["integer","null"]},"signature_expires_unix":{"type":["integer","null"]},"public_key_algorithm_id":{"type":["integer","null"]},"hash_algorithm_id":{"type":["integer","null"]},"signer_user_id":{"type":["string","null"],"maxLength":1024},"key_expired":{"type":"boolean"},"key_revoked":{"type":"boolean"},"signature_expired":{"type":"boolean"},"status_keywords":{"type":"array","maxItems":256,"items":{"type":"string","maxLength":64}},"signed_data_sha256":{"type":"string","maxLength":64},"warnings":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":512}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":128},"package_version":{"type":"string","maxLength":128},"binary_sha256":{"type":"string","maxLength":64},"components":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":256}}}},"runtime_ms":{"type":"number"}}}},{"url":"https://sicher.halowerk.com/v1/oss-sqlite-database-integrity-audit","method":"POST","name":"oss_sqlite_database_integrity_audit","description":"Opens a supplied SQLite database read-only with the pinned engine and asks it the two questions it answers about itself: whether the file structure is intact, and whether any row points at a parent that is not there. What comes back is the engine's own integrity messages, each foreign-key violation with its table and rowid, the inventory of tables and indexes, and the page geometry and text encoding.","summary":"Audit a SQLite file with the pinned engine itself: structural integrity, broken foreign keys, schema inventory and page geometry, without writing to it.","inputSchema":{"type":"object","additionalProperties":false,"required":["database_base64"],"properties":{"database_base64":{"type":"string","minLength":1,"maxLength":11184812}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2500","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","sqlite","p102"],"example_request":{"database_base64":"U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAABgAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAC52iQ0AAAADDscAD6gPGA7HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwMGFycbAWtpbmRleGF1ZnRyYWdfa3VuZGVhdWZ0cmFnBENSRUFURSBJTkRFWCBhdWZ0cmFnX2t1bmRlIE9OIGF1ZnRyYWcoa3VuZGVfaWQpgQ0CBxcbGwGBcXRhYmxlYXVmdHJhZ2F1ZnRyYWcDQ1JFQVRFIFRBQkxFIGF1ZnRyYWcgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIGt1bmRlX2lkIElOVEVHRVIgUkVGRVJFTkNFUyBrdW5kZShpZCksIGJldHJhZ19jZW50IElOVEVHRVIgTk9UIE5VTEwpVgEHFxcXAYELdGFibGVrdW5kZWt1bmRlAkNSRUFURSBUQUJMRSBrdW5kZSAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMKQ0AAAACD+MAD+8P4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIDABtNYcOfIEFHDwEDACVHcnVlw59lIEdtYkgNAAAAAw/lAA/4D+4P5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwwEAAECYwH0CAsEAAEDAgHUwAYKBAAJAhOHCgAAAAMP7wAP+w/1D+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAwEBYwwFAwEBAgsEAwkBCg=="},"requestExample":{"database_base64":"U1FMaXRlIGZvcm1hdCAzABAAAQEAQCAgAAAABgAAAAQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAC52iQ0AAAADDscAD6gPGA7HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATwMGFycbAWtpbmRleGF1ZnRyYWdfa3VuZGVhdWZ0cmFnBENSRUFURSBJTkRFWCBhdWZ0cmFnX2t1bmRlIE9OIGF1ZnRyYWcoa3VuZGVfaWQpgQ0CBxcbGwGBcXRhYmxlYXVmdHJhZ2F1ZnRyYWcDQ1JFQVRFIFRBQkxFIGF1ZnRyYWcgKGlkIElOVEVHRVIgUFJJTUFSWSBLRVksIGt1bmRlX2lkIElOVEVHRVIgUkVGRVJFTkNFUyBrdW5kZShpZCksIGJldHJhZ19jZW50IElOVEVHRVIgTk9UIE5VTEwpVgEHFxcXAYELdGFibGVrdW5kZWt1bmRlAkNSRUFURSBUQUJMRSBrdW5kZSAoaWQgSU5URUdFUiBQUklNQVJZIEtFWSwgbmFtZSBURVhUIE5PVCBOVUxMKQ0AAAACD+MAD+8P4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgIDABtNYcOfIEFHDwEDACVHcnVlw59lIEdtYkgNAAAAAw/lAA/4D+4P5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwwEAAECYwH0CAsEAAEDAgHUwAYKBAAJAhOHCgAAAAMP7wAP+w/1D+8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAwEBYwwFAwEBAgsEAwkBCg=="},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":128},"result":{"type":"object","additionalProperties":false,"required":["integrity_ok","integrity_messages","foreign_key_violation_count","object_counts","file_bytes","file_sha256","warnings"],"properties":{"integrity_ok":{"type":"boolean"},"integrity_messages":{"type":"array","maxItems":256,"items":{"type":"string","maxLength":2048}},"foreign_key_violation_count":{"type":"integer"},"foreign_key_violations":{"type":"array","maxItems":256,"items":{"type":"object"}},"object_counts":{"type":"object"},"objects":{"type":"array","maxItems":512,"items":{"type":"object"}},"page_count":{"type":["integer","null"]},"page_size":{"type":["integer","null"]},"freelist_count":{"type":["integer","null"]},"encoding":{"type":["string","null"],"maxLength":32},"user_version":{"type":["integer","null"]},"application_id":{"type":["integer","null"]},"file_bytes":{"type":"integer"},"file_sha256":{"type":"string","maxLength":64},"warnings":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":512}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":128},"package_version":{"type":"string","maxLength":128},"binary_sha256":{"type":"string","maxLength":64},"components":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":256}}}},"runtime_ms":{"type":"number"}}},"outputExample":{"operation":"database-integrity-audit","result":{"integrity_ok":true,"integrity_messages":["ok"],"foreign_key_violation_count":1,"foreign_key_violations":[{"table":"auftrag","rowid":12,"parent":"kunde","fkid":0}],"object_counts":{"index":1,"table":2},"objects":[{"type":"index","name":"auftrag_kunde","tbl_name":"auftrag"},{"type":"table","name":"auftrag","tbl_name":"auftrag"},{"type":"table","name":"kunde","tbl_name":"kunde"}],"page_count":4,"page_size":4096,"freelist_count":0,"encoding":"UTF-8","user_version":0,"application_id":0,"file_bytes":16384,"file_sha256":"d18c23b52a5a78552786f6cacea68b171c811514f0432170bed3a4d04e618945","warnings":["PRAGMA foreign_key_check reported violations; see foreign_key_violations.","Reads the file as supplied. A clean result does not vouch for the data, only for the file structure."]},"upstream":{"project":"SQLite","package_version":"3.45.1-1ubuntu2.8","binary_sha256":"04d261a472c6838700310da6c8abaec05534945c6fe1a2b3353e945313fc20b4","components":["/usr/bin/sqlite3"]},"runtime_ms":84.402}},{"url":"https://sicher.halowerk.com/v1/oss-zip-archive-inventory-audit","method":"POST","name":"oss_zip_archive_inventory_audit","description":"Reads the central directory of a supplied ZIP archive with the pinned unzip build and reports what it would do if you unpacked it, without unpacking anything. Every entry is listed with its uncompressed size and method, and three specific hazards are named: paths that climb out of the target directory, names the archive repeats so that a later entry silently overwrites an earlier one, and a total uncompressed size far out of proportion to the archive.","summary":"List a ZIP archive from its central directory and get the entries that would escape the target folder, duplicate names and the expansion ratio.","inputSchema":{"type":"object","additionalProperties":false,"required":["archive_base64"],"properties":{"archive_base64":{"type":"string","minLength":1,"maxLength":11184812}}},"mimeType":"application/json","accepts":[{"scheme":"exact","network":"eip155:8453","payTo":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","price":{"amount":"2000","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"asset":"USDC","network_name":"Base Mainnet","name":"USD Coin","version":"2","assetTransferMethod":"eip3009","eip712Domain":{"name":"USD Coin","version":"2","chainId":8453,"verifyingContract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}},"maxTimeoutSeconds":300}],"serviceName":"HALOWERK sicherwerk","tags":["oss","zip","p103"],"example_request":{"archive_base64":"UEsDBBQAAAAIAAejMl1FysnyTAAAAEsAAAAMAAAAbGllc21pY2gudHh0CygqTU0ryy/KSUxPVUgrTS1SyC8u1q3KLNBNLErOyCxL1c3MK0vNK8kvqtRNLE3JLNHjCs3NSSwtSbVScAfqPTw/VUfBN/HwfD0uAFBLAwQUAAAACAAHozJdep7TeRoAAAAaAAAADwAAAGRhdGVuL3dlcnRlLmNzdstM0UlKLSlKTOcy1DGxtLTkMtIxNDIAAi4AUEsDBBQAAAAIAAejMl2K0qH8EgAAABAAAAASAAAALi4vYXVzc2VyaGFsYi5jb25mK07OyClNLS5OzbEtTy0q4QIAUEsDBBQAAAAIAAejMl1YOm4CowcAAICEHgAJAAAAZ3Jvc3MuYmlu7cGBAAAAAMMgtvlLHeRVAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbwZQSwMEFAAAAAgAB6MyXRhlxXEQAAAADgAAAA8AAABkYXRlbi93ZXJ0ZS5jc3bLTNFJSi0pSkznMtQx5AIAUEsBAhQDFAAAAAgAB6MyXUXKyfJMAAAASwAAAAwAAAAAAAAAAAAAAIABAAAAAGxpZXNtaWNoLnR4dFBLAQIUAxQAAAAIAAejMl16ntN5GgAAABoAAAAPAAAAAAAAAAAAAACAAXYAAABkYXRlbi93ZXJ0ZS5jc3ZQSwECFAMUAAAACAAHozJditKh/BIAAAAQAAAAEgAAAAAAAAAAAAAAgAG9AAAALi4vYXVzc2VyaGFsYi5jb25mUEsBAhQDFAAAAAgAB6MyXVg6bgKjBwAAgIQeAAkAAAAAAAAAAAAAAIAB/wAAAGdyb3NzLmJpblBLAQIUAxQAAAAIAAejMl0YZcVxEAAAAA4AAAAPAAAAAAAAAAAAAACAAckIAABkYXRlbi93ZXJ0ZS5jc3ZQSwUGAAAAAAUABQArAQAABgkAAAAA"},"requestExample":{"archive_base64":"UEsDBBQAAAAIAAejMl1FysnyTAAAAEsAAAAMAAAAbGllc21pY2gudHh0CygqTU0ryy/KSUxPVUgrTS1SyC8u1q3KLNBNLErOyCxL1c3MK0vNK8kvqtRNLE3JLNHjCs3NSSwtSbVScAfqPTw/VUfBN/HwfD0uAFBLAwQUAAAACAAHozJdep7TeRoAAAAaAAAADwAAAGRhdGVuL3dlcnRlLmNzdstM0UlKLSlKTOcy1DGxtLTkMtIxNDIAAi4AUEsDBBQAAAAIAAejMl2K0qH8EgAAABAAAAASAAAALi4vYXVzc2VyaGFsYi5jb25mK07OyClNLS5OzbEtTy0q4QIAUEsDBBQAAAAIAAejMl1YOm4CowcAAICEHgAJAAAAZ3Jvc3MuYmlu7cGBAAAAAMMgtvlLHeRVAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbwZQSwMEFAAAAAgAB6MyXRhlxXEQAAAADgAAAA8AAABkYXRlbi93ZXJ0ZS5jc3bLTNFJSi0pSkznMtQx5AIAUEsBAhQDFAAAAAgAB6MyXUXKyfJMAAAASwAAAAwAAAAAAAAAAAAAAIABAAAAAGxpZXNtaWNoLnR4dFBLAQIUAxQAAAAIAAejMl16ntN5GgAAABoAAAAPAAAAAAAAAAAAAACAAXYAAABkYXRlbi93ZXJ0ZS5jc3ZQSwECFAMUAAAACAAHozJditKh/BIAAAAQAAAAEgAAAAAAAAAAAAAAgAG9AAAALi4vYXVzc2VyaGFsYi5jb25mUEsBAhQDFAAAAAgAB6MyXVg6bgKjBwAAgIQeAAkAAAAAAAAAAAAAAIAB/wAAAGdyb3NzLmJpblBLAQIUAxQAAAAIAAejMl0YZcVxEAAAAA4AAAAPAAAAAAAAAAAAAACAAckIAABkYXRlbi93ZXJ0ZS5jc3ZQSwUGAAAAAAUABQArAQAABgkAAAAA"},"outputSchema":{"type":"object","additionalProperties":false,"required":["operation","result","upstream","runtime_ms"],"properties":{"operation":{"type":"string","maxLength":128},"result":{"type":"object","additionalProperties":false,"required":["entry_count","archive_bytes","total_uncompressed_bytes","path_traversal_entries","duplicate_entry_names","archive_sha256","warnings"],"properties":{"entry_count":{"type":"integer"},"entries":{"type":"array","maxItems":1024,"items":{"type":"object"}},"archive_bytes":{"type":"integer"},"total_uncompressed_bytes":{"type":"integer"},"total_compressed_bytes":{"type":["integer","null"]},"compression_percent":{"type":["number","null"]},"expansion_ratio":{"type":["number","null"]},"largest_entry_bytes":{"type":"integer"},"path_traversal_entries":{"type":"array","maxItems":1024,"items":{"type":"string","maxLength":1024}},"absolute_path_entries":{"type":"array","maxItems":1024,"items":{"type":"string","maxLength":1024}},"backslash_entries":{"type":"array","maxItems":1024,"items":{"type":"string","maxLength":1024}},"duplicate_entry_names":{"type":"array","maxItems":1024,"items":{"type":"string","maxLength":1024}},"methods_used":{"type":"array","maxItems":32,"items":{"type":"string","maxLength":32}},"unparsed_lines":{"type":"array","maxItems":64,"items":{"type":"string","maxLength":256}},"archive_sha256":{"type":"string","maxLength":64},"warnings":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":512}}}},"upstream":{"type":"object","additionalProperties":false,"required":["project","package_version","binary_sha256","components"],"properties":{"project":{"type":"string","maxLength":128},"package_version":{"type":"string","maxLength":128},"binary_sha256":{"type":"string","maxLength":64},"components":{"type":"array","maxItems":16,"items":{"type":"string","maxLength":256}}}},"runtime_ms":{"type":"number"}}},"outputExample":{"operation":"archive-inventory-audit","result":{"entry_count":5,"entries":[{"name":"liesmich.txt","uncompressed_bytes":75,"method":"defN","kind":"binary","permissions":"?rw-------","modified":"26-Sep-18 20:24"},{"name":"daten/werte.csv","uncompressed_bytes":26,"method":"defN","kind":"binary","permissions":"?rw-------","modified":"26-Sep-18 20:24"},{"name":"../ausserhalb.conf","uncompressed_bytes":16,"method":"defN","kind":"binary","permissions":"?rw-------","modified":"26-Sep-18 20:24"},{"name":"gross.bin","uncompressed_bytes":2000000,"method":"defN","kind":"binary","permissions":"?rw-------","modified":"26-Sep-18 20:24"},{"name":"daten/werte.csv","uncompressed_bytes":14,"method":"defN","kind":"binary","permissions":"?rw-------","modified":"26-Sep-18 20:24"}],"archive_bytes":2631,"total_uncompressed_bytes":2000131,"total_compressed_bytes":2091,"compression_percent":99.9,"expansion_ratio":760.217,"largest_entry_bytes":2000000,"path_traversal_entries":["../ausserhalb.conf"],"absolute_path_entries":[],"backslash_entries":[],"duplicate_entry_names":["daten/werte.csv"],"methods_used":["defN"],"unparsed_lines":[],"archive_sha256":"21c6f7266d065bf3f905b187af94788fd434710560f25fb6f082d7c675100443","warnings":["Entries contain a parent-directory segment; extracting them could write outside the target directory.","The archive names the same path more than once; the last one usually wins on extraction.","Uncompressed size exceeds the archive size by more than a hundredfold.","Reads the central directory only. Nothing was extracted and no entry content was examined."]},"upstream":{"project":"Info-ZIP UnZip","package_version":"6.0-28ubuntu4.1","binary_sha256":"b582f2d782989a4d0105284b8032b076222eb29a6c141b5c53b792c864199396","components":["/usr/bin/unzip"]},"runtime_ms":79.774}}]}